Конвертировать PDF в форматы изображений в Python
Преобразование PDF в изображения в Python
Aspose.PDF for Python via .NET поддерживает несколько способов конвертации содержимого PDF в изображения. На практике большинство рабочих процессов использует один из двух вариантов:
- подход Device для рендеринга страниц PDF в растровые форматы изображений
- подход SaveOptions для экспорта содержимого PDF в SVG
В этой статье показано, как конвертировать PDF‑файлы в TIFF, BMP, EMF, JPEG, PNG, GIF и SVG.
Библиотека включает несколько классов рендеринга. DocumentDevice разработан для конвертации всего документа, в то время как ImageDevice нацелено на отдельные страницы.
Преобразование PDF с помощью класса DocumentDevice
Используйте DocumentDevice, если хотите вывести весь PDF в один многостраничный TIFF-файл.
Класс TiffDevice основан на DocumentDevice и предоставляет метод process для преобразования всех страниц PDF-файла в один TIFF-файл.
Попробуйте конвертировать PDF в TIFF онлайн
Aspose.PDF for Python via .NET представляет вам онлайн‑приложение “PDF в TIFF”, где вы можете попытаться изучить функциональность и качество его работы.
Преобразование страницы PDF в одно изображение TIFF
Aspose.PDF for Python via .NET может рендерить каждую страницу PDF‑файла в одно TIFF‑изображение.
Шаги: Конвертировать PDF в TIFF в Python
- Загрузите исходный PDF с помощью класса Document.
- Создайте объекты TiffSettings и TiffDevice.
- Настройте параметры TIFF, такие как сжатие, глубина цвета и обработка пустых страниц.
- Вызовите метод process, чтобы записать TIFF-файл.
Следующий фрагмент кода показывает, как преобразовать все страницы PDF в одно изображение TIFF.
import aspose.pdf as ap
from io import FileIO
from os import path
import sys
def convert_PDF_to_TIFF(infile, outfile):
document = ap.Document(infile)
resolution = ap.devices.Resolution(300)
tiffSettings = ap.devices.TiffSettings()
tiffSettings.compression = ap.devices.CompressionType.LZW
tiffSettings.depth = ap.devices.ColorDepth.DEFAULT
tiffSettings.skip_blank_pages = False
tiffDevice = ap.devices.TiffDevice(resolution, tiffSettings)
tiffDevice.process(document, f"{outfile}.tiff")
print(infile + " converted into " + outfile)
Преобразование PDF с использованием класса ImageDevice
Используйте ImageDevice, если вам нужен постраничный вывод в растровом формате.
ImageDevice является базовым классом для BmpDevice, JpegDevice, GifDevice, PngDevice, и EmfDevice.
- Класс BmpDevice позволяет преобразовывать страницы PDF в BMP-изображения.
- Класс EmfDevice позволяет преобразовывать страницы PDF в изображения EMF.
- Класс JpegDevice позволяет преобразовывать страницы PDF в изображения JPEG.
- Класс PngDevice позволяет преобразовывать страницы PDF в изображения PNG.
- Класс GifDevice позволяет преобразовывать страницы PDF в изображения GIF.
Рабочий процесс одинаков для каждого формата: загрузите документ, создайте соответствующее устройство, затем обработайте требуемую страницу.
BmpDevice предоставляет метод process для рендеринга конкретной страницы в BMP. Остальные классы ImageDevice работают по тому же шаблону, поэтому формат можно сменить, просто заменив класс устройства.
Следующие примеры показывают, как рендерить страницы PDF в распространённые форматы изображений:
- Конвертация PDF в BMP
- Конвертация PDF в EMF
- Конвертация PDF в JPEG
- Конвертация PDF в PNG
- Конвертация PDF в GIF
Шаги: 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 в BMP
import aspose.pdf as ap
from io import FileIO
from os import path
import sys
def convert_PDF_to_BMP(infile, outfile):
document = ap.Document(infile)
resolution = ap.devices.Resolution(300)
device = ap.devices.BmpDevice(resolution)
page_count = 1
while page_count <= len(document.pages):
image_stream = FileIO(outfile + str(page_count) + "_out.bmp", "w")
device.process(document.pages[page_count], image_stream)
image_stream.close()
page_count = page_count + 1
print(infile + " converted into " + outfile)
Преобразование PDF в EMF
import aspose.pdf as ap
from io import FileIO
from os import path
import sys
def convert_PDF_to_EMF(infile, outfile):
document = ap.Document(infile)
resolution = ap.devices.Resolution(300)
device = ap.devices.EmfDevice(resolution)
page_count = 1
while page_count <= len(document.pages):
image_stream = FileIO(outfile + str(page_count) + "_out.emf", "w")
device.process(document.pages[page_count], image_stream)
image_stream.close()
page_count = page_count + 1
print(infile + " converted into " + outfile)
Преобразование PDF в JPEG
import aspose.pdf as ap
from io import FileIO
from os import path
import sys
def convert_PDF_to_JPEG(infile, outfile):
document = ap.Document(infile)
resolution = ap.devices.Resolution(300)
device = ap.devices.JpegDevice(resolution)
page_count = 1
while page_count <= len(document.pages):
image_stream = FileIO(outfile + str(page_count) + "_out.jpeg", "w")
device.process(document.pages[page_count], image_stream)
image_stream.close()
page_count = page_count + 1
print(infile + " converted into " + outfile)
Преобразование PDF в PNG
import aspose.pdf as ap
from io import FileIO
from os import path
import sys
def convert_PDF_to_PNG(infile, outfile):
document = ap.Document(infile)
resolution = ap.devices.Resolution(300)
device = ap.devices.PngDevice(resolution)
page_count = 1
while page_count <= len(document.pages):
image_stream = FileIO(outfile + str(page_count) + "_out.png", "w")
device.process(document.pages[page_count], image_stream)
image_stream.close()
page_count = page_count + 1
Преобразование PDF в PNG с шрифтом по умолчанию
import aspose.pdf as ap
from io import FileIO
from os import path
import sys
def convert_PDF_to_PNG_with_default_font(infile, outfile):
document = ap.Document(infile)
resolution = ap.devices.Resolution(300)
rendering_options = ap.RenderingOptions()
rendering_options.default_font_name = "Arial"
device = ap.devices.PngDevice(resolution)
device.rendering_options = rendering_options
page_count = 1
while page_count <= len(document.pages):
image_stream = FileIO(outfile + str(page_count) + "_out.png", "w")
device.process(document.pages[page_count], image_stream)
image_stream.close()
page_count = page_count + 1
Преобразование PDF в GIF
import aspose.pdf as ap
from io import FileIO
from os import path
import sys
def convert_PDF_to_GIF(infile, outfile):
document = ap.Document(infile)
resolution = ap.devices.Resolution(300)
device = ap.devices.GifDevice(resolution)
page_count = 1
while page_count <= len(document.pages):
image_stream = FileIO(outfile + str(page_count) + "_out.gif", "w")
device.process(document.pages[page_count], image_stream)
image_stream.close()
page_count = page_count + 1
print(infile + " converted into " + outfile)
Попробуйте конвертировать PDF в PNG онлайн
В качестве примера того, как работают наши приложения, пожалуйста, проверьте следующую функцию.
Aspose.PDF for Python представляет вам онлайн‑приложение “PDF в PNG”, где вы можете попытаться изучить функциональность и качество его работы.
Преобразование PDF с использованием класса SaveOptions
Используйте SaveOptions, если хотите экспортировать содержимое PDF в SVG.
Попробуйте конвертировать PDF в SVG онлайн
Aspose.PDF for Python via .NET представляет вам онлайн‑приложение “PDF в SVG”, где вы можете попытаться изучить функциональность и качество его работы.
Scalable Vector Graphics (SVG) — это основанный на XML формат двумерной векторной графики. Поскольку SVG остаётся векторным, он полезен, когда вам нужен масштабируемый вывод для веба, пользовательского интерфейса или дизайнерских рабочих процессов.
Файлы SVG являются текстовыми, пригодными для поиска и их легко постобрабатывать в других инструментах.
Aspose.PDF for Python via .NET может как конвертировать SVG в PDF, так и экспортировать страницы PDF в SVG. Для конвертации PDF в SVG создайте объект SvgSaveOptions и передайте его в метод document.save().
Следующие шаги показывают, как преобразовать файл PDF в SVG с помощью Python.
Шаги: Преобразовать PDF в SVG с помощью Python
- Загрузите исходный PDF с помощью класса Document.
- Создайте объект SvgSaveOptions и настройте нужные параметры.
- Вызовите метод document.save() с экземпляром
SvgSaveOptions, чтобы записать выходной SVG-файл.
Преобразование PDF в SVG
import aspose.pdf as ap
from io import FileIO
from os import path
import sys
def convert_PDF_to_SVG(infile, outfile):
document = ap.Document(infile)
save_options = ap.SvgSaveOptions()
save_options.compress_output_to_zip_archive = False
save_options.treat_target_file_name_as_directory = True
document.save(f"{outfile}.svg", save_options)
Связанные преобразования
- Конвертировать форматы изображений в PDF когда вам нужно воссоздать PDF из JPG, PNG, TIFF, SVG или других источников изображений.
- Преобразовать PDF в HTML для вывода, удобного для браузера, вместо растровых изображений.
- Конвертировать PDF в другие форматы для рабочих процессов экспорта в EPUB, Markdown, текст и XPS.


