IT源码网

c#之iText7 将 PDF 转换为图像

sanshao 2024年11月24日 程序员 26 0

请告诉我在iText7中可以使用什么方法将pdf转换为图像。 在 Itexsharp 中,有一个将 pdf 文件转换为图像的选项。以下是链接。使用 iTextSharp 将 PDF 转换为图像 http://www.c-sharpcorner.com/UploadFile/a0927b/create-pdf-document-and-convert-to-image-programmatically/

下面是使用以下引用链接创建的示例代码。 itext7 pdf to image 这没有按预期工作。它没有将 pdf 转换为图像。它正在创建一个 1kb 的空白图像。

string fileName = System.IO.Path.GetFileNameWithoutExtension(inputFilePath); 
var pdfReader = new PdfReader(inputFilePath); 
var pdfDoc = new iText.Kernel.Pdf.PdfDocument(pdfReader); 
int pagesLength = pdfDoc.GetNumberOfPages()+1; 
for (int i = 1; i < pagesLength; i++) 
{ 
    if (!File.Exists(System.IO.Path.Combine(imageFileDir, fileName + "_" +  
 `enter code here`(startIndex + i) + ".png")) && i < pagesLength) 
    { 
 
        PdfPage pdfPages = pdfDoc.GetPage(i); 
        PdfWriter writer = new PdfWriter(System.IO.Path.Combine(imageFileDir, fileName + "_" + (startIndex + i) + ".png"), new WriterProperties().SetFullCompressionMode(true)); 
        PdfDocument pdf = new PdfDocument(writer); 
        PdfFormXObject pageCopy = pdfPages.CopyAsFormXObject(pdf); 
        iText.Layout.Element.Image image = new iText.Layout.Element.Image(pageCopy); 
    } 
} 

请您参考如下方法:

引用布鲁诺的话:

iText does not convert PDFs to raster images (such as .jpg, .png,...). You are misinterpreting the examples that create an Image instance based on an existing page. Those examples create an XObject that can be reused in a new PDF as if it were a vector image; they don't convert a PDF page to a raster image.

为此您可以使用 GhostScript(这是我们 iText 内部用于测试的内容)。它将 pdf 作为输入并将其转换为一系列图像(每页一个图像)。


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!