11
Document document = new Document(reader.getPageSizeWithRotation(1));
PdfCopy writer = new PdfCopy(document, new FileOutputStream(outFile));
document.open();
PdfImportedPage page = writer.getImportedPage(reader, ++i);
writer.setFullCompression();
writer.addPage(page);
document.close();
writer.close();

私はiTextを使用してPDFを分割およびマージしていますが、プログラムで出力PDFサイズを縮小(圧縮)するためにあなたの助けが必要です。同じことを実現するための手順を教えてください。

4

4 に答える 4

7

iTextを使用する

PdfReader reader = new PdfReader(new FileInputStream("input.pdf"));
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("output.pdf"));
int total = reader.getNumberOfPages() + 1;
for ( int i=1; i<total; i++) {
   reader.setPageContent(i + 1, reader.getPageContent(i + 1));
}
stamper.setFullCompression();
stamper.close();
于 2014-01-09T16:02:52.133 に答える
6

すでにwriter.setFullCompression()可能な限りファイルを圧縮しました。iTextを使用すると、これ以上何もできなくなります。

于 2013-01-16T09:26:08.513 に答える
4

また、をに変更PdfCopyPdfSmartCopyます。同じハッシュ(md5)を持つ重複ストリームを排除します。

于 2013-01-16T17:04:35.090 に答える
0

ghostscriptを使用して、ghostscriptのpdfwriterでpdfを印刷するための特定のパラメーターを使用してexeを呼び出すことができます(例:sDEVICE = pdfwrite -sOutputFile = myfile.pdf)。圧縮や品質レベルなど、いくつかの受け入れられたパラメータがあります。結果として最適化され、ファイルが小さくなる場合があります。

于 2013-11-05T22:13:20.493 に答える