加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 07:28:02 所属栏目:百科 来源:网络整理
导读:我有一堆PDF,我只是想打开,调整页面大小,然后保存.我也希望文件大小会显着缩小.我正在使用iTextSharp并且调整大小工作正常,但文件大小几乎相同,实际上稍大一点.这是我现在的功能: Dim reader As New PdfReader(inPDF) Dim doc As New Document(PageSize.LET
我有一堆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,PageSize.LETTER.Height / reader.GetPageSize(pageNumber).Height,0)
        doc.NewPage()
    Next pageNumber
    doc.Close()

有谁知道我可能缺少什么实际上也减少了文件大小?

谢谢.

解决方法

减小页面大小只会减小页面的大小;您没有删除任何内容,因此文件大小不会更改.

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读