iText7 Convert PDF to Image

梦想的初衷 提交于 2019-12-02 16:36:35

问题


Please let me know what method can be used to convert pdf to image in iText7. In Itexsharp, there was an option to convert pdf file to images. Following is the link. PDF to Image Using iTextSharp http://www.c-sharpcorner.com/UploadFile/a0927b/create-pdf-document-and-convert-to-image-programmatically/

Below is the sample code created using the following refernce link. itext7 pdf to image this is not working as expected. It is not converting the pdf to image. It is creating a 1kb blank image.

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:


Quoting Bruno:

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.

What you can use for this (which is what we at iText internally use for testing) is GhostScript. It takes a pdf as input and converts it to a series of images (one image per page).



来源:https://stackoverflow.com/questions/46953295/itext7-convert-pdf-to-image

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!