iText7将PDF转换为图像

时间:2017-10-26 11:38:04

标签: c# itext7

请让我知道在iText7中可以使用什么方法将pdf转换为图像。 在Itexsharp中,有一个选项可以将pdf文件转换为图像。以下是链接。 PDF到图像使用iTextSharp 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);
    }
}

1 个答案:

答案 0 :(得分:1)

引用布鲁诺:

  

iText不会将PDF转换为光栅图像(例如.jpg,.png,...)。您错误地解释了基于现有页面创建Image实例的示例。这些示例创建了一个可以在新PDF中重用的XObject,就像它是一个矢量图像一样;他们不会将PDF页面转换为光栅图像。

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