C# 使用 iTextSharp 将 PDF 多页文件转换为图片
可以使用第三方库 iTextSharp 来实现将 PDF 多页文件转换为图片。
以下是一个示例代码,将 PDF 文件转换为 png 格式的图片:
using iTextSharp.text.pdf;
using iTextSharp.text;
using System.Drawing.Imaging;
public void ConvertPDFToImage(string inputPdfPath, string outputImagePath)
{
using (var reader = new PdfReader(inputPdfPath))
{
var numberOfPages = reader.NumberOfPages;
for (var pageNumber = 1; pageNumber <= numberOfPages; pageNumber++)
{
using (var document = new Document(reader.GetPageSizeWithRotation(pageNumber)))
{
using (var fileStream = new System.IO.FileStream(outputImagePath + pageNumber + '.png', System.IO.FileMode.Create))
{
var writer = PdfWriter.GetInstance(document, fileStream);
document.Open();
var cb = writer.DirectContent;
var page = writer.GetImportedPage(reader, pageNumber);
var rotation = reader.GetPageRotation(pageNumber);
var pageSize = reader.GetPageSizeWithRotation(pageNumber);
if (rotation == 90 || rotation == 270)
{
document.SetPageSize(new Rectangle(pageSize.Height, pageSize.Width));
}
else
{
document.SetPageSize(pageSize);
}
document.NewPage();
cb.AddTemplate(page, 0, 0);
}
}
}
}
}
在上面的代码中,我们首先使用 PdfReader 读取 PDF 文件,然后遍历每一页,使用 iTextSharp 创建一个新的文档,并将 PDF 页转换为图片,最后将生成的图片保存到指定的路径中。
请注意,上面的代码需要引用 iTextSharp 库,可以通过 NuGet 包管理器进行安装。
原文地址: http://www.cveoy.top/t/topic/okEJ 著作权归作者所有。请勿转载和采集!