内容目录
ImageMagick 是一个强大的图像处理库,支持100多种主要的文件格式(不包括子格式)。使用 Magick.NET,你可以在 c #/vb.net/. net Core 应用程序中使用 ImageMagick,而无需在服务器或桌面上安装 ImageMagick。
项目地址:https://github.com/dlemstra/Magick.NET
笔者推荐的原因除了其跨平台、开源,还要我其 API 简单好用。
nuget 搜索 ImageMagick 即可引用。
using ImageMagick;
using Microsoft.IO;
using PdfSharp.Drawing;
using PdfSharp.Fonts;
using PdfSharp.Pdf;
using PdfSharp.Snippets.Font;
namespace ConsoleAppTest
{
internal class Program
{
private static readonly RecyclableMemoryStreamManager MemoryManager = new();
static async Task Main()
{
var document = new PdfDocument();
document.Info.Title = "标题测试";
document.Info.Subject = "测试";
// 插入一个页面
PdfPage page = document.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(page);
// 加载 gif 文件
using var image = new MagickImage(File.Open("D:/a.gif", FileMode.Open));
// 转换后存储 png 到内存中
var memoryStream = MemoryManager.GetStream();
image.Write(memoryStream,MagickFormat.Png);
// 重置流指针为开头位置
memoryStream.Seek(0, SeekOrigin.Begin);
XImage img = XImage.FromStream(memoryStream);
// 图像绘制在页面的哪个位置,坐标 0,0
gfx.DrawImage(img, new XPoint(0, 0));
var filename = "new.pdf";
document.Save(filename);
}
}
PdfSharp 的使用请参考:https://www.whuanle.cn/archives/21233
打印到 pdf 中:
文章评论