Удаление страниц из PDF с помощью PDFBox дает больший PDF, чем оригинал
Мне нужно извлечь диапазон страниц из файлов PDF. Я использую следующий код для этого (используя PDFBox v2.0.4):
int startPage = 17;
int endPage = 18;
String fn = "original.pdf";
String resFn = "result.pdf";
PDDocument doc = PDDocument.load(new File(fn), MemoryUsageSetting.setupMixed(1024 * 1024));
int cnt = doc.getNumberOfPages();
for (int i = cnt - 1; i > endPage; i--) {
doc.removePage(i);
}
for (int i = startPage - 1; i >= 0; i--) {
doc.removePage(i);
}
doc.save(new FileOutputStream(resFn));
Однако для относительно небольших оригинальных файлов это приводит к немного большим файлам результата. Например, оригинальный файл.pdf размером 800 КБ (который содержит 22 страницы) привел к файлу result.pdf размером 1300 КБ (который содержал всего 2 страницы).
Может кто-нибудь сказать мне, как заставить PDFBox создавать PDF меньшего размера (или, по крайней мере, такого же размера, как оригинал)?