一、简介
PDFsharp 是一个功能强大且免费开源的 .NET 库,专为创建、修改和处理 PDF 文档而设计。它支持多种功能,包括但不限于创建 PDF 文件、插入文本和图像、格式化内容、合并与拆分 PDF 文件、加密与解密等。PDFsharp 跨平台特性使其能够兼容 Windows、macOS 和 Linux 等操作系统,并支持 .NET Framework 和 .NET 6 及更高版本。
二、安装与使用
可以通过 NuGet 包管理器安装 PDFsharp,命令如下:
dotnet add package PDFsharp
三、主要功能
1. 创建 PDF
PDFsharp 提供了简单易用的 API,可以轻松创建自定义的 PDF 文件。
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using PdfSharpCore;
PdfDocument document = new PdfDocument();
document.Info.Title = "PDFsharp Example";
PdfPage page = document.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(page);
XFont font = new XFont("Verdana", 20);
gfx.DrawString("Hello, PDFSharp!,Hello, NetShare!", font,
XBrushes.Black, new XRect(0, 0, page.Width, page.Height),
XStringFormats.Center);
var filePath = @"example.pdf";
document.Save(filePath);
2. 插入文本和图像
PDFsharp 支持在 PDF 页面中插入文本和图像。例如,绘制矩形、椭圆和线条的代码如下:
gfx.DrawRectangle(XPens.Black, 10, 10, 100, 50); //
绘制矩形
gfx.DrawEllipse(XPens.Red, 10, 70, 50, 50); // 绘制椭圆
gfx.DrawLine(XPens.Blue, new XPoint(10, 10), new XPoint(100, 100)); //
绘制线条
同时,可以通过 XImage.FromFile() 方法加载图像文件,并使用 gfx.DrawImage() 方法将其绘制到页面上。
3. 格式化内容
PDFsharp 提供了丰富的格式化选项,例如设置字体样式、大小、颜色等。通过 XFont 类可以自定义字体属性,满足不同场景下的需求。
4. 合并与拆分 PDF
PDFsharp 支持将多个 PDF 文件合并为一个,或者将一个 PDF 文件拆分为多个部分。以下是合并 PDF 的示例代码:
PdfDocument outputDocument = new PdfDocument();
PdfDocument inputDocument1 = PdfReader.Open("file1.pdf",
PdfDocumentOpenMode.Import);
PdfDocument inputDocument2 = PdfReader.Open("file2.pdf",
PdfDocumentOpenMode.Import);
outputDocument.AddDocument(inputDocument1);
outputDocument.AddDocument(inputDocument2);
outputDocument.Save("merged.pdf");
拆分 PDF 的代码如下:
PdfDocument inputDocument = PdfReader.Open("file.pdf",
PdfDocumentOpenMode.Import);
for (int i = 0; i < inputDocument.PageCount; i++)
{
PdfDocument outputDocument = new PdfDocument();
outputDocument.AddPage(inputDocument.Pages[i]);
outputDocument.Save($"page_{i + 1}.pdf");
}
5. 加密与解密
PDFsharp 提供了对 PDF 文件进行加密和解密的功能,确保文档的安全性。以下是加密 PDF 的示例代码:
PdfDocument document = PdfReader.Open("file.pdf",
PdfDocumentOpenMode.Import);
document.Encrypt("password", PdfEncryptionAlgorithm.Aes128);
document.Save("encrypted_file.pdf");
四、注意事项
- 1. 资源释放:确保每次使用完 XGraphics 对象、字体等资源后及时释放。
- 2. 性能优化:批量处理图形和文本绘制,减少对 PDF页面的重复访问。
- 3. 异常处理:实现健壮的异常处理机制,应对文件读写或格式不支持等问题。
五、总结
PDFsharp 是一个功能强大且易于使用的 .NET 库,适用于需要创建、修改和处理 PDF 文件的各种场景。
| Austin Liu 刘恒辉 ProjectManager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢迎收藏和转载此博客中的博文,但是请注明出处,给笔者一个与大家交流的空间。谢谢大家。 |
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/991933.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!