Генерация миниатюрных изображений из PDF
Набор инструментов Adobe Acrobat SDK - это набор инструментов, который помогает вам разрабатывать программное обеспечение, взаимодействующее с технологией Acrobat. SDK содержит файлы заголовков, библиотеки типов, простые утилиты, примеры кода и документацию.
Используя Acrobat SDK, вы можете разрабатывать программное обеспечение, которое интегрируется с Acrobat и Adobe Reader несколькими способами:
- JavaScript — Пишите сценарии, либо в отдельном документе PDF, либо внешне, чтобы расширить функциональность Acrobat или Adobe Reader.
- Плагины — Создавайте плагины, которые динамично связаны и расширяют функциональность Acrobat или Adobe Reader.
- Межприложенческая коммуникация — Пишите отдельный процесс приложения, который использует межприложенческую коммуникацию (IAC) для управления функциональностью Acrobat. DDE и OLE поддерживаются в Microsoft® Windows®, а события Apple/AppleScript – в Mac OS®. IAC недоступна в UNIX®.
Aspose.PDF для .NET предоставляет много той же функциональности, освобождая вас от зависимости от автоматизации Adobe Acrobat. Aspose.PDF для .NET предоставляет множество тех же функций, освобождая вас от зависимости от автоматизации Adobe Acrobat.
Разработка приложений с использованием API межприложенческой коммуникации Acrobat
Считайте, что API Acrobat имеет два отдельных уровня, которые используют объекты межприложенческой коммуникации (IAC):
- Уровень приложения Acrobat (AV). Уровень AV позволяет вам контролировать, как просматривается документ. Например, вид объекта документа находится на уровне, связанном с Acrobat.
- Уровень портативного документа (PD). Уровень PD предоставляет доступ к информации внутри документа, например, к странице. С уровня PD вы можете выполнять базовые манипуляции с PDF-документами, такие как удаление, перемещение или замена страниц, а также изменение атрибутов аннотаций. Вы также можете печатать страницы PDF, выбирать текст, доступ к измененному тексту и создавать или удалять миниатюры.
Поскольку наша цель заключается в преобразовании страниц PDF в миниатюрные изображения, мы сосредотачиваемся более на IAC. Поскольку наша цель заключается в преобразовании страниц PDF в изображения миниатюр, мы больше сосредоточены на IAC.
Подход Acrobat
Для генерации миниатюрных изображений каждого документа мы использовали Adobe Acrobat 7.0 SDK и Microsoft .NET 2.0 Framework.
Acrobat SDK, используемый с полной версией Adobe Acrobat, предоставляет библиотеку объектов COM (к сожалению, бесплатная версия Adobe Reader не предоставляет интерфейсы COM), которые можно использовать для манипуляции и доступа к информации PDF. Используя эти объекты COM через COM Interop, загрузите документ PDF, получите первую страницу и отобразите эту страницу в буфер обмена. Затем, с помощью .NET Framework, скопируйте это в битмап, масштабируйте и объедините изображение и сохраните результат в виде файла GIF или PNG.
После установки Adobe Acrobat используйте regedit.exe и посмотрите в HKEY_CLASSES_ROOT на запись под названием AcroExch.PDDoc.
Реестр, показывающий запись AcroExch.PDDDoc
Подход Aspose.PDF для .NET
Aspose.PDF для .NET предоставляет обширную поддержку для работы с документами PDF. Также поддерживается возможность конвертации страниц документов PDF в различные форматы изображений. Описанная выше функциональность может быть легко достигнута с использованием Aspose.PDF для .NET.
Aspose.PDF имеет отличные преимущества:
- Вам не нужно устанавливать Adobe Acrobat на вашу систему для работы с файлами PDF.
- Использование Aspose.PDF для .NET простое и понятное по сравнению с автоматизацией Acrobat.
Если нам нужно конвертировать страницы PDF в JPEG, пространство имен Aspose.PDF.Devices предоставляет класс под названием JpegDevice для рендеринга страниц PDF в изображения JPEG. Если нам нужно конвертировать страницы PDF в JPEG, пространство имён Aspose.PDF.Devices предоставляет класс под названием JpegDevice для рендеринга страниц PDF в изображения JPEG.
- Спасибо CodeProject за Генерация миниатюрных изображений из документа PDF.
- Спасибо Acrobat за Справочник по SDK Acrobat.