Сжатие PDF: примеры кода

Использование высокоскоростного, мощного и безопасного API для сжатия PDF-документов на различных языках программирования

Как сжимать PDF-файлы с помощью библиотеки Aspose.PDF

Aspose.PDF поддерживает сжатие PDF-файлов. Большую часть размера PDF-файла можно уменьшить, уменьшив размер встраиваемых изображений в PDF-документ. Кроме того, мы можем линеаризовать документ, чтобы как можно быстрее открыть первую страницу:

Вызов этого метода фактически не сохраняет документ. Напротив, документ готов только к оптимизированной структуре, затем вызовите «Сохранить», чтобы получить оптимизированный документ.

Шаги по уменьшению размера PDF-файла


Чтобы опробовать код в своей среде, вам понадобится библиотека Aspose.PDF.

  1. Откройте PDF-документ, используя объект Document.
  2. Вызовите метод оптимизации объекта документа, который удаляет ненужные объекты и сжимает изображения в файле PDF
  3. Сохраните оптимизированный документ по новому пути с помощью метода Save ().

Пример для C#: сжатие PDF-документа

Уменьшение размера PDF-документа с помощью C#

Document pdfDocument = new Document(dataDir + "input.pdf");
pdfDocument.OptimizeResources();
pdfDocument.Save(dataDir + "output.pdf");

Как оптимизировать PDF-документ для Интернета с помощью Aspose.PDF для Java

Линеаризация — это процесс создания PDF-файла, пригодного для просмотра в Интернете с помощью веб-браузера. Линеаризованный PDF-файл структурирован таким образом, чтобы первая страница PDF-файла была отображена в пользовательском веб-браузере, прежде чем весь файл будет загружен с веб-сервера. Это ускоряет просмотр веб-страниц, и пользователю не нужно ждать загрузки всего PDF-файла, чтобы начать просмотр документа. Используя метод Optimize, мы можем:

  • откройте первую страницу как можно быстрее;
  • отобразить следующую страницу или перейти по ссылке на следующую страницу как можно быстрее
  • отображать страницу постепенно по мере ее поступления, когда данные для страницы поступают по медленному каналу (сначала отобразите наиболее полезные данные);
  • разрешить взаимодействие с пользователем, например переход по ссылке, еще до получения и отображения всей страницы.

Шаги по уменьшению размера PDF-файла с помощью Java

  1. Откройте PDF-документ, используя объект Document.
  2. Вызовите метод Optimize для объекта документа, который удаляет ненужные объекты и сжимает изображения в файле PDF
  3. Сохраните оптимизированный документ по новому пути с помощью метода Save ().

Пример для Java: сжатие PDF-документа для Интернета

Уменьшение размера PDF-документа с помощью Java

Document pdfDocument = new Document(dataDir + "input.pdf");
// Optimize for web
pdfDocument.optimize();
pdfDocument.save(dataDir + "output.pdf");

Как удалить или сгладить аннотации с помощью Aspose.PDF для C++

Добавление аннотаций к PDF-документу естественным образом увеличивает его размер. Аннотации можно удалить, если они не нужны. При необходимости они могут быть уплощены, но не требуют дополнительной модификации. Оба метода уменьшат размер файла. Используя метод Flatten, мы можем:

  • откройте документ как можно быстрее;
  • отображать страницу как единое целое

Шаги по уменьшению размера PDF-файла с помощью C++

  1. Создайте объект документа с именем document, который открывает входной PDF-файл с помощью функции MakeObject.
  2. Просмотрите каждый объект страницы в объекте документа, используя цикл for-each и итератор с именем page на основе диапазона.
  3. Просмотрите каждый объект аннотации в объекте страницы, используя цикл для каждого и итератор на основе диапазона с именем аннотация.
  4. Вызовите метод Flatten для объекта аннотации, чтобы объединить его с содержимым страницы и удалить интерактивность.
  5. Вызовите метод Сохранить для объекта документа, чтобы сохранить обновленный PDF-файл.

Пример для C++: сглаживание PDF-документа

Удалите ненужные аннотации, чтобы уменьшить размер PDF-документов с помощью C++

// String for path name
String _dataDir("C:\\Samples\\");

// String for input file name
String infilename("OptimizeDocument.pdf");
// String for output file name
String outfilename("OptimizeDocument_out.pdf");

// Open document
auto document = MakeObject<Document>(_dataDir + infilename);

// Flatten annotations
for(auto page : document->get_Pages())
{
    for(auto annotation : page->get_Annotations())
    {
    annotation->Flatten();
    }
}
// Save updated document
document->Save(_dataDir + outfilename);

О Aspose.PDF API

Библиотека обработки PDF для создания кроссплатформенных приложений с возможностью создания, изменения, преобразования, рендеринга, защиты и печати документов без использования Adobe Acrobat. Он поддерживает преобразование различных форматов файлов в PDF, включая HTML, и преобразование PDF-документов в различные выходные форматы. Разработчики могут легко отображать весь HTML-контент в одностраничном PDF-файле, а также конвертировать HTML-файлы с графическими тегами SVG в PDF-файлы с тегами. API PDF .NET предлагает сжатие, создание таблиц, функции графиков и изображений, гиперссылки, задачи штампов и водяных знаков, расширенные средства контроля безопасности и пользовательскую обработку шрифтов.