gpt4 book ai didi

vb.net - 如何使用 iTextSharp 调整 pdf 的大小

转载 作者:行者123 更新时间:2023-12-04 21:27:28 43 4
gpt4 key购买 nike

我有一堆 PDF,我只是想打开、调整页面大小,然后保存。我也希望文件大小会显着缩小。我正在使用 iTextSharp 并且调整大小工作得很好,但文件大小几乎相同,实际上略大。这是我现在拥有的功能:

    Dim reader As New PdfReader(inPDF)
Dim doc As New Document(PageSize.LETTER)
Document.Compress = True
Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(outPDF, FileMode.Create))
doc.Open()
Dim cb As PdfContentByte = writer.DirectContent

Dim page As PdfImportedPage
For pageNumber As Long = 1 To reader.NumberOfPages
page = writer.GetImportedPage(reader, pageNumber)
cb.AddTemplate(page, PageSize.LETTER.Width / reader.GetPageSize(pageNumber).Width, 0, 0, PageSize.LETTER.Height / reader.GetPageSize(pageNumber).Height, 0, 0)
doc.NewPage()
Next pageNumber
doc.Close()

有谁知道我可能还缺少什么才能真正减小文件大小?

谢谢。

最佳答案

减小页面大小只会减小页面大小;您不会删除任何内容,因此文件大小不会改变。

有三种方法可以减小文件大小;删除内容,确保文本对象被压缩,和/或确保图像有效。

所谓高效图像,我的意思是图像不会比它们需要的大,并且使用了正确的压缩方式。你可以使用一个巨大的图像,比如 1800 像素宽,并在 pdf 中将其缩放为 2.5"。如果你这样做,即使它显示为 2.5 英寸宽,它仍然是 1800 像素宽。你可以缩小文件通过调整图像大小来调整大小 - 在这种情况下,对于 300 dpi 打印分辨率,它只需要 750 像素宽。对于标准 pdf 72 dpi 分辨率,您只需要 202 像素宽的图像。

许多生成 pdf 的程序会自动使用 jpeg。如果图像是 2 色,如发票或支票扫描,使用 G4 压缩的 tiffs 将使文件大小比 jpeg 小得多。

关于vb.net - 如何使用 iTextSharp 调整 pdf 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1100672/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com