c#iText7-通过pdf图像插入并更改大小和dpi

时间:2019-03-07 11:11:28

标签: c# pdf itext

我有很多很大的PDF文件,其中包含大图像(扫描图)。 目的是打开PDF,读取所有图像,更改dpi,分辨率和压缩它。

如何使用Itex7对其进行管理? 通常,如何遍历PDF中的所有图像?

using (iText.Kernel.Pdf.PdfReader pdfReader = new iText.Kernel.Pdf.PdfReader(inputPdfFile))
{
    using (iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader))
    {
        //??
        //foreach (var image in pdfDocumentImagesList)
        //{
            //  //image.SetNewDPI()                 
        //}
    }
}

1 个答案:

答案 0 :(得分:1)

如何浏览所有PDF图片?

https://github.com/itext/i7js-book/blob/develop/src/test/java/com/itextpdf/samples/book/part4/chapter15/Listing_15_30_ExtractImages.java https://github.com/itext/i7js-book/blob/develop/src/test/java/com/itextpdf/samples/book/part4/chapter15/Listing_15_31_MyImageRenderListener.java

如何更改图像的dpi和分辨率?

这不是iText功能的一部分,因为iText是PDF而不是图像处理库。我建议您使用其他一些工具处理提取的图像,然后将其放入新文档或替换PDF中的图像。后者不是很容易。下一个SO答案可能会阐明一些问题:http://stackoverflow.com/questions/26580912/pdf-convert-to-black-and-white-pngs (其代码,但在iText7中:https://github.com/itext/i7js-examples/blob/develop/src/test/java/com/itextpdf/samples/sandbox/images/ReplaceImage.java

如何压缩图像?

https://github.com/itext/i7js-book/blob/develop/src/test/java/com/itextpdf/samples/book/part3/chapter10/Listing_10_12_CompressImage.java

希望会有用!