Преобразование 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 в изображение. В общем, мы используем два подхода: преобразование с использованием устройства и преобразование с использованием 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.
-
Вызовите метод TiffDevice.Process() для преобразования PDF документа в TIFF.
-
Чтобы установить свойства выходного файла, используйте класс TiffSettings.
Следующий фрагмент кода показывает, как конвертировать все страницы PDF в одно изображение TIFF.
from asposepdf import Api, Device
# инициализация лицензии
documentName = "testdata/license/Aspose.PDF.PythonviaJava.lic"
licenseObject = Api.License()
licenseObject.setLicense(documentName)
# Открыть PDF документ
DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_image = DIR_OUTPUT + "image.tiff"
# Открыть PDF документ
document = Api.Document(input_pdf)
# Создать объект разрешения
resolution = Device.Resolution(300)
# Создать объект TiffSettings
tiffSettings = Device.TiffSettings()
tiffSettings._CompressionType = Device.CompressionType.LZW
tiffSettings._ColorDepth = Device.ColorDepth.Default
tiffSettings._Skip_blank_pages = False
# Создать устройство TIFF
tiffDevice = Device.TiffDevice(resolution, tiffSettings)
# Конвертировать определенную страницу и сохранить изображение в поток
tiffDevice.process(document, output_image)
Преобразование 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
from asposepdf import Api, Device
DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Открыть PDF документ
document = Api.Document(input_pdf)
# Создать объект разрешения
resolution = Device.Resolution(300)
device = Device.BmpDevice(resolution)
for i in range(0, document.getPages.size):
# Создать имя файла для сохранения
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.bmp"
# Преобразовать определенную страницу и сохранить изображение в файл
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Преобразование PDF в EMF
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Открыть PDF документ
document = Api.Document(input_pdf)
# Создать объект разрешения
resolution = Device.Resolution(300)
device = Device.EmfDevice(resolution)
for i in range(0, document.getPages.size):
# Создать имя файла для сохранения
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.emf"
# Конвертировать конкретную страницу и сохранить изображение в файл
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Преобразование PDF в JPEG
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Открыть PDF документ
document = Api.Document(input_pdf)
# Создать объект разрешения
resolution = Device.Resolution(300)
device = Device.JpegDevice(resolution)
for i in range(0, document.getPages.size):
# Создать имя файла для сохранения
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.jpeg"
# Конвертировать конкретную страницу и сохранить изображение в файл
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Конвертировать PDF в PNG
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Открыть PDF-документ
document = Api.Document(input_pdf)
# Создать объект разрешения
resolution = Device.Resolution(300)
device = Device.PngDevice(resolution)
for i in range(0, document.getPages.size):
# Создать имя файла для сохранения
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.png"
# Конвертировать определенную страницу и сохранить изображение в файл
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Конвертировать PDF в GIF
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Открыть PDF-документ
document = Api.Document(input_pdf)
# Создать объект разрешения
resolution = Device.Resolution(300)
device = Device.GifDevice(resolution)
for i in range(0, document.getPages.size):
# Создать имя файла для сохранения
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.gif"
# Конвертировать определенную страницу и сохранить изображение в файл
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Попробуйте преобразовать PDF в PNG онлайн
В качестве примера того, как работают наши бесплатные приложения, пожалуйста, ознакомьтесь со следующей функцией.
Aspose.PDF for Python предлагает вам бесплатное онлайн-приложение “PDF в PNG”, в котором вы можете исследовать функциональность и качество его работы.
Преобразование PDF с использованием класса SaveOptions
Эта часть статьи показывает, как преобразовать PDF в SVG, используя Python и класс SaveOptions.
Попробуйте преобразовать PDF в SVG онлайн
Aspose.PDF for Python via .NET предлагает вам бесплатное онлайн-приложение “PDF в SVG”, в котором вы можете исследовать функциональность и качество его работы.
Scalable Vector Graphics (SVG) - это семейство спецификаций формата файлов на основе XML для двумерной векторной графики, как статической, так и динамической (интерактивной или анимированной). Спецификация SVG является открытым стандартом, который разрабатывается Консорциумом Всемирной паутины (W3C) с 1999 года.
Изображения SVG и их поведение определяются в текстовых файлах XML. Это означает, что их можно искать, индексировать, скриптовать и, если необходимо, сжимать. Как XML-файлы, изображения SVG могут быть созданы и отредактированы с помощью любого текстового редактора, но чаще всего их удобнее создавать с помощью программ для рисования, таких как Inkscape.
Aspose.PDF для 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
from asposepdf import Api
documentName = "testdata/input.pdf"
doc = Api.Document(documentName, None)
documentOutName = "testout/out.svg"
doc.save(documentOutName, Api.SaveFormat.Svg)