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的文件大小小得多.
总结以上是内存溢出为你收集整理的vb.net – 如何使用iTextSharp调整pdf的大小全部内容,希望文章能够帮你解决vb.net – 如何使用iTextSharp调整pdf的大小所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)