我有很多很大的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()
//}
}
}
答案 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)
如何压缩图像?
希望会有用!