Конвертация PDF в различные форматы изображений на Python
Обзор
В этой статье объясняется, как конвертировать PDF в различные форматы изображений с использованием Python. Она охватывает следующие темы.
Формат изображения: TIFF
- Python PDF в TIFF
- Python Конвертация PDF в TIFF
- Python Конвертация отдельных или конкретных страниц PDF в TIFF
Формат изображения: BMP
Формат изображения: EMF
Формат изображения: JPG
Формат изображения: PNG
Формат изображения: GIF
Формат изображения: SVG
Python Конвертировать PDF в изображение
Aspose.PDF для Python использует несколько подходов для конвертации PDF в изображение. В общем, мы используем два подхода: преобразование с использованием Device подхода и преобразование с использованием SaveOption. Этот раздел покажет вам, как преобразовать PDF-документы в форматы изображений, такие как BMP, JPEG, GIF, PNG, EMF, TIFF и SVG, используя один из этих подходов.
В библиотеке имеется несколько классов, которые позволяют использовать виртуальное устройство для преобразования изображений. DocumentDevice ориентирован на преобразование всего документа, а ImageDevice - для определённой страницы.
Преобразование PDF с использованием класса DocumentDevice
Aspose.PDF для Python позволяет преобразовывать страницы PDF в изображения TIFF.
Класс TiffDevice (основанный на DocumentDevice) позволяет преобразовывать страницы PDF в изображения TIFF. Этот класс предоставляет метод с именем process, который позволяет преобразовать все страницы в PDF-файле в одно изображение TIFF.
Попробуйте преобразовать PDF в TIFF онлайн Aspose.PDF для Python через .NET представляет вам бесплатное онлайн-приложение “PDF to TIFF”, где вы можете попробовать исследовать функциональность и качество его работы.
Преобразование страниц PDF в одно изображение TIFF
Aspose.PDF для Python объясняет, как преобразовать все страницы в PDF-файле в одно изображение TIFF:
Шаги: Преобразование PDF в TIFF на Python
-
Создайте объект класса Document.
-
Создайте объекты TiffSettings и TiffDevice.
-
Вызовите метод process, чтобы преобразовать PDF-документ в TIFF.
-
Чтобы задать свойства выходного файла, используйте класс TiffSettings.
Следующий фрагмент кода показывает, как преобразовать все страницы PDF в одно изображение TIFF.
import aspose.pdf as ap
input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_tiff.tiff"
# Открыть PDF-документ
document = ap.Document(input_pdf)
# Создать объект разрешения
resolution = ap.devices.Resolution(300)
# Создать объект TiffSettings
tiffSettings = ap.devices.TiffSettings()
tiffSettings.compression = ap.devices.CompressionType.LZW
tiffSettings.depth = ap.devices.ColorDepth.DEFAULT
tiffSettings.skip_blank_pages = False
# Создать устройство TIFF
tiffDevice = ap.devices.TiffDevice(resolution, tiffSettings)
# Преобразовать конкретную страницу и сохранить изображение в поток
tiffDevice.process(document, output_pdf)
Преобразование PDF с использованием класса ImageDevice
ImageDevice
является предком для BmpDevice
, JpegDevice
, GifDevice
, PngDevice
и EmfDevice
.
-
Класс BmpDevice позволяет преобразовывать страницы PDF в изображения BMP.
-
Класс EmfDevice позволяет преобразовывать страницы PDF в изображения EMF.
-
Класс JpegDevice позволяет преобразовывать страницы PDF в изображения JPEG.
-
Класс PngDevice позволяет преобразовывать страницы PDF в изображения PNG.
-
Класс GifDevice позволяет преобразовывать страницы PDF в изображения GIF.
Давайте рассмотрим, как преобразовать страницу PDF в изображение.
Класс BmpDevice предоставляет метод под названием process, который позволяет преобразовать определенную страницу PDF файла в формат изображения BMP. Другие классы имеют тот же метод. Таким образом, если нам нужно преобразовать страницу PDF в изображение, мы просто создаем экземпляр необходимого класса.
Следующие шаги и фрагмент кода на Python демонстрируют эту возможность
- Преобразовать PDF в BMP на Python
- Преобразовать PDF в EMF на Python
- Преобразовать PDF в JPG на Python
- Преобразовать PDF в PNG на Python
- Преобразовать PDF в GIF на Python
Шаги: PDF в изображение (BMP, EMF, JPG, PNG, GIF) на Python
- Загрузите PDF-файл, используя класс Document.
- Создайте экземпляр подкласса ImageDevice, например:
- BmpDevice (для конвертации PDF в BMP)
- EmfDevice (для конвертации PDF в Emf)
- JpegDevice (для конвертации PDF в JPG)
- PngDevice (для конвертации PDF в PNG)
- GifDevice (для конвертации PDF в GIF)
- Вызовите метод ImageDevice.Process() для выполнения конвертации PDF в изображение.
Конвертировать PDF в BMP
import aspose.pdf as ap
input_pdf = DIR_INPUT + "many_pages.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_bmp"
# Открыть PDF-документ
document = ap.Document(input_pdf)
# Создать объект разрешения
resolution = ap.devices.Resolution(300)
device = ap.devices.BmpDevice(resolution)
for i in range(0, len(document.pages)):
# Создать файл для сохранения
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.bmp", 'x'
)
# Конвертировать конкретную страницу и сохранить изображение в поток
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Конвертация PDF в EMF
import aspose.pdf as ap
input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_emf"
# Открыть PDF документ
document = ap.Document(input_pdf)
# Создать объект разрешения
resolution = ap.devices.Resolution(300)
device = ap.devices.EmfDevice(resolution)
for i in range(0, len(document.pages)):
# Создать файл для сохранения
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.emf", 'x'
)
# Конвертировать определенную страницу и сохранить изображение в поток
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Конвертация PDF в JPEG
import aspose.pdf as ap
input_pdf = DIR_INPUT + "many_pages.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_jpeg"
# Открыть PDF документ
document = ap.Document(input_pdf)
# Создать объект разрешения
resolution = ap.devices.Resolution(300)
device = ap.devices.JpegDevice(resolution)
for i in range(0, len(document.pages)):
# Создать файл для сохранения
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.jpeg", "x"
)
# Конвертировать определенную страницу и сохранить изображение в поток
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Преобразование PDF в PNG
import aspose.pdf as ap
input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_png"
# Открыть PDF документ
document = ap.Document(input_pdf)
# Создать объект разрешения
resolution = ap.devices.Resolution(300)
device = ap.devices.PngDevice(resolution)
for i in range(0, len(document.pages)):
# Создать файл для сохранения
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.png", 'x'
)
# Конвертировать определенную страницу и сохранить изображение в поток
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Преобразование PDF в GIF
import aspose.pdf as ap
input_pdf = DIR_INPUT + "many_pages.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_gif"
# Открыть PDF документ
document = ap.Document(input_pdf)
# Создать объект разрешения
resolution = ap.devices.Resolution(300)
device = ap.devices.GifDevice(resolution)
for i in range(0, len(document.pages)):
# Создать файл для сохранения
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.gif", 'x'
)
# Конвертировать определенную страницу и сохранить изображение в поток
device.process(document.pages[i + 1], imageStream)
# Закрыть поток
imageStream.close()
Попробуйте преобразовать PDF в PNG онлайн
В качестве примера того, как работают наши бесплатные приложения, пожалуйста, ознакомьтесь со следующей функцией.
Aspose.PDF для Python предлагает вам бесплатное онлайн-приложение “PDF to PNG”, где вы можете изучить функциональные возможности и качество его работы.
Преобразование PDF с использованием класса SaveOptions
Эта часть статьи показывает, как преобразовать PDF в SVG с использованием Python и класса SaveOptions.
Попробуйте преобразовать PDF в SVG онлайн
Aspose.PDF для Python через .NET предлагает вам бесплатное онлайн-приложение “PDF to SVG”, где вы можете изучить функциональные возможности и качество его работы.
Scalable Vector Graphics (SVG) - это семейство спецификаций формата файлов на основе XML для двумерной векторной графики, как статической, так и динамической (интерактивной или анимированной). Спецификация SVG является открытым стандартом, который разрабатывается Консорциумом Всемирной паутины (W3C) с 1999 года.
SVG-изображения и их поведение определяются в текстовых файлах XML. Это означает, что они могут быть найдены, индексированы, скриптованы и, если необходимо, сжаты. Как XML-файлы, SVG-изображения могут быть созданы и отредактированы с помощью любого текстового редактора, но чаще всего их удобнее создавать с помощью программ для рисования, таких как Inkscape.
Aspose.PDF for Python поддерживает функцию конвертации изображений SVG в формат PDF, а также предлагает возможность конвертации PDF-файлов в формат SVG. Чтобы выполнить это требование, в пространство имен Aspose.PDF был введен класс SvgSaveOptions. Создайте объект SvgSaveOptions и передайте его как второй аргумент в метод Document.Save().
Следующий фрагмент кода показывает шаги по преобразованию PDF-файла в формат SVG с помощью Python.
Шаги: Преобразование PDF в SVG на Python
- Создайте объект класса Document.
- Создайте объект SvgSaveOptions с необходимыми настройками.
- Вызовите метод Document.Save() и передайте объект SvgSaveOptions, чтобы конвертировать PDF-документ в SVG.
Конвертация PDF в SVG
import aspose.pdf as ap
input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_svg.svg"
# Открыть PDF-документ
document = ap.Document(input_pdf)
# Создать экземпляр объекта SvgSaveOptions
saveOptions = ap.SvgSaveOptions()
# Не сжимать изображение SVG в Zip-архив
saveOptions.compress_output_to_zip_archive = False
saveOptions.treat_target_file_name_as_directory = True
# Сохранить вывод в файлы SVG
document.save(output_pdf, saveOptions)