Різні організації використовують файли PDF для безпечного та організованого обміну інформацією. Однак іноді PDF-файли стають величезними за розміром через вбудований вміст, як-от зображення, відео, малюнки тощо. Ви можете легко оптимізувати або стиснути такий розмір PDF-файлу без будь-яких компромісів щодо якості. Давайте розглянемо такі сценарії стиснення та оптимізації розміру PDF-файлу, які ви можете включити у свої програми Java:

PDF Size Optimization and Compression API – встановлення

Ви можете використовувати ефективні та надійні процедури Aspose.PDF for Java API для оптимізації або стиснення PDF-файлів величезного розміру, зберігаючи ту саму якість. Ви можете завантажити файли JAR із Завантаження або з Конфігурації Maven у вашому проекті.

Оптимізуйте PDF-документи для Інтернету за допомогою Java

PDF-документи можна оптимізувати, якщо їх потрібно використовувати на своїх веб-сторінках. Ця оптимізація допомагає якомога швидше відобразити першу сторінку документа PDF. Ви можете отримати оптимізований PDF-файл, виконавши наведені нижче дії.

  1. Файл PDF з відкритим кодом
  2. Викличте metod optimize для оптимізації PDF
  3. Збережіть вихідний файл PDF

Наведений нижче фрагмент коду є прикладом того, як оптимізувати PDF-документи для Інтернету у вашому середовищі Java:

// відкритий документ
Document pdfDocument = new Document("Original.pdf");

// Оптимізація для Інтернету
pdfDocument.optimize();

// Зберегти вихідний документ
pdfDocument.save("Optimized_output.pdf");

Стискайте або оптимізуйте розмір PDF-файлу, що містить зображення, за допомогою Java

Тут ми в основному обговорюватимемо сценарії, коли PDF-файли містять багато зображень, тому мають величезний розмір. Наприклад, PDF-файл, що містить креслення для різних моделей літаків та інформацію про кожну частину, другорядну чи основну, включену у вигляді зображень або зображень усіх компонентів. Крім того, багато професійних документів можуть містити зображення як основні артефакти файлу. У таких сценаріях ми можемо стиснути PDF-файли за допомогою таких підходів:

Зменшення, стиснення та зміна розміру всіх зображень за допомогою Java

Ви можете мінімізувати розмір PDF-файлу, що містить багато зображень, зменшуючи, стискаючи та змінюючи розміри зображень. Покращення розміру може бути помітним, оскільки більшу частину розміру файлу займають зображення, які ми тепер маємо намір зменшити. Вам потрібно виконати наведені нижче кроки, щоб зменшити, стиснути та змінити розмір малюнків або зображень у файлі PDF:

  1. Завантажити вхідний файл PDF
  2. Ініціалізувати об’єкт OptimizationOptions.
  3. Установіть якість зображення та роздільну здатність
  4. Викличте метод optimizeResources.
  5. Збережіть вихідний PDF-документ

Наведений нижче фрагмент коду показує, як зменшити або стиснути зображення, щоб зменшити та мінімізувати розмір файлу PDF за допомогою Java:

// Завантажити вхідний документ
Document doc = new Document(dataDir + "Test.pdf");

// Ініціалізація об'єкта OptimizationOptions
OptimizationOptions opt = new OptimizationOptions();

// Увімкнути стиснення зображення
// Встановіть якість і роздільність зображень у файлі PDF
opt.getImageCompressionOptions().setCompressImages(true);
opt.getImageCompressionOptions().setImageQuality(10);
opt.getImageCompressionOptions().setMaxResolution(150);
opt.getImageCompressionOptions().setResizeImages(true);
doc.optimizeResources(opt);

// Збережіть оновлений файл
doc.save(dataDir + "compressingPDFWithImages_out.pdf");

Видалення вбудованих шрифтів, невикористаних потоків і зв’язування повторюваних потоків за допомогою Java

Коли вам потрібно зменшити розмір файлу PDF, кожен байт має значення. Вбудовані шрифти можуть допомогти зменшити розмір файлу за допомогою різних підходів. Наприклад, ви можете видалити всі шрифти або зберегти лише підмножину символів шрифту, які використовуються у файлі PDF. Це було б часткове відключення шрифтів, яке все одно допомогло б мінімізувати розмір файлу. Крім того, ви можете видалити невикористані потоки або зв’язати дублікати потоків, щоб заощадити додатковий простір. Ці оптимізації PDF значно зменшать розмір файлу. Щоб оптимізувати та зменшити розмір файлу PDF, потрібно виконати наступні кроки:

  1. Завантажити вхідний документ PDF
  2. Ініціалізувати об’єкт класу OptimizationOptions.
  3. Або видаліть усі шрифти, або підмножину шрифтів
  4. Пов’яжіть дублікати потоків
  5. Видаліть невикористані потоки

У наведеному нижче коді описано, як стискати PDF-файли для оптимізації, зменшення та мінімізації розміру PDF-документів:

Document doc = new Document(dataDir + "Test.pdf");
OptimizationOptions opt = new OptimizationOptions();

// Або
// Видалити всі шрифти в PDF
opt.setUnembedFonts(true);

//АБО
// зберігайте лише вбудовані шрифти для використаних символів
opt.setSubsetFonts(true);

// пов’язувати дублікати потоків
opt.setLinkDuplcateStreams(false);

// Видаліть невикористані потоки
opt.setRemoveUnusedStreams(false);

// Видалити невикористані об'єкти
opt.setRemoveUnusedObjects(false);

doc.optimizeResources(opt);

// Збережіть оновлений файл
doc.save(dataDir + "compressingPDF.pdf");

Поки що ми обговорювали підходи до оптимізації в основному для PDF-файлів із зображеннями. Тепер давайте перейдемо до інших способів оптимізації PDF.

Стискайте або зменшуйте розмір документа PDF за допомогою Java

PDF-файли часто містять анотації, редаговані поля форми та кольорові артефакти, які разом займають місце. Давайте розглянемо наступні процедури для стиснення розміру файлу PDF.

Видалення або зведення анотацій для зменшення розміру за допомогою Java

PDF-файли можуть містити багато анотацій. Наприклад, водяний знак, коментарі, фігури тощо. Ви можете видалити анотації, якщо вони більше не потрібні, або збільшити анотації, якщо подальші зміни не потрібні. Щоб оптимізувати розмір PDF-файлу, виконайте наведені нижче дії, щоб видалити або звести анотації:

  1. PDF-документ із відкритим кодом
  2. Повторюйте кожну сторінку
  3. Звести або видалити анотації
  4. Збережіть вихідний PDF-документ

Наведений нижче фрагмент коду є прикладом того, як видалити або звести анотації в документах PDF за допомогою Java:

// відкритий документ
Document pdfDocument = new Document(dataDir + "OptimizeDocument.pdf");

// Переглядайте кожну сторінку та анотацію
for (Page page : pdfDocument.getPages())
{
   for (Annotation annotation : page.getAnnotations())
    {
        // Або звести анотацію
        annotation.flatten();
        
        // АБО видалити анотацію
        // page.getAnnotations().delete(анотація);        
    }
}
// Збережіть оптимізований документ PDF
pdfDocument.save(dataDir + "OptimizeDocument_out.pdf");

Видалення полів форми для мінімізації розміру файлу PDF за допомогою Java

PDF-форми, які можна заповнювати, є звичайними, коли потрібно надіслати дані великого масштабу. Після надсилання даних заповнювані поля форми можна видалити, щоб оптимізувати та мінімізувати розмір файлу PDF. Для видалення полів форми потрібно виконати наведені нижче дії.

  1. Завантажити вхідний документ PDF
  2. Перевірте наявність полів форми в документі PDF
  3. Перейдіть по кожному полю та зрівняйте його
  4. Збережіть оновлений стиснутий файл PDF
// Завантажити вихідну форму PDF
Document doc = new Document(dataDir + "input.pdf");

// Зведення полів форми
if (doc.getForm().getFields().length > 0)
{
   for (Field item : doc.getForm().getFields())
    {
        item.flatten();
    }
}

dataDir = dataDir + "FlattenForms_out.pdf";
// Збережіть оновлений документ
doc.save(dataDir);

Перетворюйте колірний простір RGB на градації сірого для стиснення та оптимізації PDF за допомогою Java

Більшість PDF-файлів містять текстовий вміст, який також можна добре представити в кольоровому просторі відтінків сірого. Крім того, якщо метою та пріоритетом є збереження кожного байта, навіть зображення можна перетворити на відтінки сірого, оскільки основна увага зосереджена на архівуванні даних. Щоб стиснути й оптимізувати розмір PDF-файлу, перетворивши колірний простір RGB на градації сірого, виконайте наведені нижче дії.

  1. Доступ до вихідного документа PDF
  2. Ініціалізувати екземпляр RgbToDeviceGrayConversionStrategy.
  3. Перетворіть колірний простір кожного кольору в градації сірого
  4. Збережіть оптимізований файл PDF

У наведеному нижче фрагменті коду показано, як стиснути та оптимізувати розмір PDF шляхом зміни колірного простору в середовищі Java:

// Завантажити вхідний документ PDF
Document document = new Document("input.pdf");

// Ініціалізація екземпляра RgbToDeviceGrayConversionStrategy
RgbToDeviceGrayConversionStrategy strategy = new RgbToDeviceGrayConversionStrategy();
for (int idxPage = 1; idxPage <= document.getPages().size(); idxPage++) {
	Page page = document.getPages().get_Item(idxPage);
        
        // Перетворіть колірний простір кожної сторінки в градації сірого
	strategy.convert(page);
}
// Зберегти вихідний документ PDF
document.save("output.pdf");

Висновок

У цій статті ми розглянули різні способи та підходи до оптимізації та стиснення файлів PDF для зменшення розміру. Перш за все, ми оптимізували розмір файлу PDF для Інтернету за допомогою Java. Потім ми навчилися зменшувати, стискати та змінювати розмір зображень у PDF-файлі, що містить кілька зображень. Крім того, ми також досліджували роботу зі шрифтами, потоками, анотаціями, полями форми, а також перетворення колірного простору PDF-документа на відтінки сірого, щоб PDF-файл меншого розміру, але такої ж якості можна було створити за допомогою Java. Крім того, у разі будь-якого запиту, пов’язаного з цією темою, ви можете зв’язатися з нами через безкоштовний форум підтримки.

Дивись також

Інформація: за допомогою нової онлайнової веб-програми від Aspose ви можете перетворити набір зображень у відео. Ви також можете перевірити інший сервіс, який витягує звуки з відео.