我想使用itext庫從java servlet中返回一個來自pdf文件的頁面(以減小文件大小的下載)。 使用此代碼使用iText從pdf文件中提取一個頁面
try {
PdfReader reader = new PdfReader(input);
Document document = new Document(reader.getPageSizeWithRotation(page_number));
PdfSmartCopy copy1 = new PdfSmartCopy(document, response.getOutputStream());
copy1.setFullCompression();
document.open();
copy1.addPage(copy1.getImportedPage(reader, page_i));
copy1.freeReader(reader);
reader.close();
document.close();
} catch (DocumentException e) {
e.printStackTrace();
}
此代碼返回的頁面,但文件尺寸較大,有時等於原始文件的大小,即使它只是一個頁面。
也許你有一個大的字體或每個頁面使用的大圖像。在這種情況下,如果在100頁中丟棄99個文件,則無關緊要:該頁面仍然需要字體和圖像,並且PDF文件的大小不會縮小。如果您想獲得更有用的答案,您必須向我們提供有關PDF的性質的更多信息。 – 2015-02-07 12:58:45
該文件的副本位於保管箱[文件鏈接](https://www.dropbox.com/sh/rjkw0uageilbjm0/AAAYRLUk0j0FIk0R3KLYH1Isa/1st%20and%202nd%20Year%20Materials/Anatomy/%D8%AE%D8%A7 %D9%84%D8%AF%20%D9%85%D9%8A%D9%84%D8%A7%D8%AF /%D8%A7%D9%84%D9%85%D9%86%D9% 87%D8%AC%20%D8%A7%D9%84%D9%86%D8%B8%D8%B1%D9%8A?dl = 0),大部分頁面都是論文的圖片。 – Ahmed 2015-02-07 13:47:32
我已經下載了abdomen.pdf。這是一個只包含圖像的PDF。你爲什麼不提取圖像並提供服務?如果您可以提供單獨的圖像,爲什麼還需要單頁PDF? – 2015-02-07 13:58:18