Категория

Конвертируйте PDF в различные форматы изображений с помощью Python

2024-01-17 02:16:46

Convert PDF to Various Image Formats with Python

Преобразование PDF в изображение дает ряд преимуществ, включая улучшенную совместимость, повышенную гибкость редактирования, упрощенный обмен и оптимизированное визуальное представление. Преобразование PDF-файлов в изображения обеспечивает совместимость на различных платформах и устройствах, поскольку изображения широко поддерживаются и их легко просматривать. Это также обеспечивает более гибкие возможности редактирования, поскольку изображения можно редактировать с помощью различных программ графического дизайна. Кроме того, преобразование PDF-файлов в изображения упрощает обмен, поскольку файлы изображений имеют меньший размер и ими можно легко обмениваться по электронной почте или на различных цифровых платформах. Наконец, путем преобразования PDF-файлов в изображения визуальный контент оптимизируется для лучшего представления, что упрощает интеграцию в презентации, веб-сайты или другие визуальные проекты.

В этой статье мы покажем, как легко конвертируйте PDF в различные форматы изображений, такие как PNG, JPG, EMF, SVG и TIFF, с помощью Python.

Библиотека Python для преобразования PDF в изображения

Среди множества библиотек на рынке, поддерживающих преобразование PDF в изображения, Spire.PDF for Python обеспечивает наиболее эффективный интерфейс преобразования. Он предлагает гибкость в выборе выходного формата, разрешения и диапазона страниц для преобразования. Используя его, вы можете конвертировать отдельные страницы PDF или весь документ как в растровую, так и в векторную графику с помощью нескольких строк кода.

  • Битовая карта графика состоит из пикселей, зависит от разрешения и подходит для реалистичных изображений. Примеры форматов растровых изображений включают JPG, PNG и GIF.
  • Векторная графика основана на математических уравнениях, не зависит от разрешения и лучше всего подходит для масштабируемых иллюстраций и проектов. Такие форматы, как SVG и AI, являются примерами форматов векторной графики.

Прежде чем вы сможете запустить приведенные ниже фрагменты кода, вам необходимо установить Spire.PDF for Python с помощью следующей команды pip.

pip install Spire.PDF

Преобразование PDF-документа в файлы PNG, JPG, GIF, BMP, EMF в Python

Spire.PDF for Python предоставляет метод SaveAsImage, который позволяет пользователям преобразовывать определенные страницы PDF-документа в поток растровых изображений. Этот поток изображений затем можно экспортировать как файл изображения с расширением PNG, JPG, BPM, GIF или EMF.

В следующем фрагменте кода показано, как преобразовать PDF-документ в несколько файлов растровых изображений в Python. Одна страница PDF создает один файл изображения.

  • Python
from spire.pdf.common import *
    from spire.pdf import *
    
    # Create a PdfDocument object
    doc = PdfDocument()
    
    # Load a PDF document
    doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")
    
    # Iterate through all pages in the document
    for i in range(doc.Pages.Count):
    
        # Convert a specific page to an image stream
        with doc.SaveAsImage(i) as image:
            
            # Save the image stream as a PNG file
            image.Save("Output\\ConversionResults\\ToImage-{0:d}.png".format(i))
    
            # Save the image stream as a JPG file
            image.Save("Output\\ConversionResults\\ToImage-{0:d}.jpg".format(i))
    
            # Save the image stream as a BMP file
            image.Save("Output\\ConversionResults\\ToImage-{0:d}.bmp".format(i))
    
            # Save the image stream as a GIF file
            image.Save("Output\\ConversionResults\\ToImage-{0:d}.gif".format(i))
    
            # Save the image stream as an EMF file
            image.Save("Output\\ConversionResults\\ToImage-{0:d}.emf".format(i))
    
    # Close the document
    doc.Close()

Преобразование PDF-документа в файлы SVG в Python

Чтобы завершить преобразование PDF в файлы SVG, вы можете вызвать метод SaveToFile(filename: str, startIndex: int, endIndex: int, fileFormat: FileFormat) и указать формат выходного файла как SVG. Следующий фрагмент кода Python загружает документ PDF и сохраняет каждую страницу как отдельный файл SVG.

  • Python
from spire.pdf.common import *
    from spire.pdf import *
    
    # Create a PdfDocument object
    doc = PdfDocument()
    
    # Load a PDF document
    doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")
    
    # Iterate through all pages in the document
    for i in range(doc.Pages.Count):
        
        # Convert a specific page to a SVG file
        doc.SaveToFile("Output\\ConversionResults\\ToImage-{0:d}.svg".format(i), i, i, FileFormat.SVG)
    
    # Close the document
    doc.Close()

Преобразование PDF-документа в многостраничный файл TIFF в Python

Spire.PDF for Python не предоставляет простого метода преобразования PDF в TIFF. Однако вы можете объединить растровую графику, созданную Spire.PDF, в один документ TIFF. Для этого требуется дополнительная установка библиотеки изображений Python (PIL), которая представляет собой бесплатную библиотеку с открытым исходным кодом для управления различными форматами файлов изображений с использованием языка Python.

pip install Pillow

Следующий код показывает, как преобразовать документ PDF в многостраничный файл TIFF с помощью Spire.PDF for Python и PIL.

  • Python
from spire.pdf.common import *
    from spire.pdf import *
    
    from PIL import Image
    from io import BytesIO
    
    # Create a PdfDocument object
    doc = PdfDocument()
    
    # Load a PDF document
    doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")
    
    # Create an empty list to store PIL Images
    images = []
    
    # Iterate through all pages in the document
    for i in range(doc.Pages.Count):
    
        # Convert a specific page to an image stream
        with doc.SaveAsImage(i) as imageData:
    
            # Open the image stream as a PIL image
            img = Image.open(BytesIO(imageData.ToArray())) 
    
            # Append the PIL image to list
            images.append(img)
    
    # Save the PIL Images as a multi-page TIFF file
    images[0].save("Output/Result.tiff", save_all=True, append_images=images[1:])
    
    # Close the document
    doc.Close()

Заключение

В этой записи блога мы рассмотрели, как конвертировать PDF в популярные форматы изображений, такие как PNG, JPG, SVG и TIFF, с помощью Spire.PDF for Python. С помощью этой библиотеки PDF вы можете преобразовать конкретную страницу или весь PDF-документ в высококачественные изображения. Напротив, эта библиотека позволяет вам конвертировать изображение в PDF также. Дополнительные руководства можно найти в нашем онлайн-документация. Если у вас есть какие-либо вопросы, вы можете связаться с нами через Форум Spire.PDF.

Смотрите также