PDFiumCore | .NET Core PDF 处理渲染库
2024-06-20
850 2在处理 PDF 文件时,渲染和解析的准确性、速度和稳定性是至关重要的。PDFiumCore,作为.NET 环境下的一个强大库,为开发者提供了高效、便捷的 PDF 处理能力。PDFiumCore 是基于 Foxit Software 的 PDFium 库的一个封装,它使得.NET 开发者能够轻松地集成 PDF 渲染和处理功能到他们的应用程序中。
PDFiumCore GitHub地址:https://github.com/Dtronix/PDFiumCore
PDFiumCore 的特点
- 高性能:PDFiumCore 继承了 PDFium 的高性能特性,能够快速渲染 PDF 页面。
- 准确性:它能够准确地解析和渲染 PDF 文件,包括复杂的布局和字体。
- 跨平台:PDFiumCore 支持多种操作系统,包括 Windows、Linux 和 macOS。
- 易于集成:作为.NET 库,它可以轻松地集成到现有的.NET 项目中。
使用 PDFiumCore 的基本步骤
- 安装 PDFiumCore:你可以通过 NuGet 包管理器来安装 PDFiumCore。
- 初始化库:在使用 PDFiumCore 之前,需要先初始化库。
- 加载 PDF 文档:使用 PDFiumCore 的 API 来加载 PDF 文件。
- 渲染 PDF 页面:选择特定的页面进行渲染。
- 释放资源:完成操作后,确保释放所有占用的资源。
PDFiumCore C# 示例代码
下面是一个简单的 C# 示例,展示了如何使用 PDFiumCore 来加载和渲染 PDF 文件的一页:
using System;
using PdfiumCore;
using System.Drawing;
class Program
{
static void Main()
{
// 初始化 PDFiumCore 库
Pdfium.Initialize();
// 加载 PDF 文档
using (var document = PdfDocument.Load("example.pdf"))
{
// 获取第一页
var page = document.GetPage(0);
// 渲染页面到 Bitmap
using (var bitmap = RenderPageToBitmap(page, 300, 300))
{
// 保存 Bitmap 到文件(可选)
bitmap.Save("page1.png", System.Drawing.Imaging.ImageFormat.Png);
Console.WriteLine("Page rendered and saved to page1.png");
}
}
// 清理 PDFiumCore 库资源
Pdfium.Terminate();
}
static Bitmap RenderPageToBitmap(PdfPage page, int width, int height)
{
// 创建一个 Bitmap 对象来保存渲染结果
var bitmap = new Bitmap(width, height);
var bmpData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
System.Drawing.Imaging.ImageLockMode.WriteOnly,
bitmap.PixelFormat);
// 渲染 PDF 页面到 Bitmap
page.RenderToBitmap(bmpData.Scan0, bitmap.Width, bitmap.Height, 0, 0,
bitmap.Width, bitmap.Height, false);
bitmap.UnlockBits(bmpData);
return bitmap;
}
}
在这个示例中,我们首先初始化了 PDFiumCore 库,然后加载了一个名为 "example.pdf" 的 PDF 文件。接着,我们获取了文档的第一页,并使用 RenderPageToBitmap 方法将其渲染到一个 Bitmap 对象中。最后,我们将这个 Bitmap 对象保存为一个 PNG 文件,并清理了 PDFiumCore 库的资源。
为了运行这个示例,你需要在项目中添加对 System.Drawing 的引用,并确保 PDFiumCore 库已经通过 NuGet 安装到你的项目中。
PDFiumCore 是一个强大的工具,它使得.NET 开发者能够轻松地处理 PDF 文件。通过上面的示例代码,你可以看到如何在 C# 中使用 PDFiumCore 来加载、渲染和保存 PDF 文件的页面。
您可能感兴趣:
阿里云 云服务器 99元1年 2核2G 3M固定带宽 续费与新购同价
领取 通义灵码 免费使用资格 基于通义大模型,提供代码智能生成、研发智能问答能力,兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具, 为你提供高效、流畅、舒心的智能编码体验!
匿名用户
<s>yyds<s/>
匿名用户
fpdfview.FPDF_InitLibrary(); var document = fpdfview.FPDF_LoadDocument("pdf-sample.pdf", null); var page = fpdfview.FPDF_LoadPage(document, 0); fpdfview.FPDF_GetPageSizeByIndex(document, 0, ref pageWidth, ref pageHeight); pdfiumcore 官方例子是这样,你这是个啥?