Категория

Преобразование изображения в PDF с помощью Python

2023-12-29 07:44:05

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

API конвертера PDF для Python

Если вы хотите преобразовать файлы изображений в формат PDF в приложении Python, Spire.PDF for Python может помочь в этом. Он позволяет вам создать PDF-документ с настраиваемыми настройками страницы (размер и поля), добавить одно или несколько изображений на каждую страницу и сохранить окончательный документ в виде PDF-файла. Поддерживаются различные формы изображений, включая изображения PNG, JPEG, BMP и GIF.

Помимо преобразования изображений в PDF, эта библиотека поддерживает преобразование PDF в Word, PDF в Excel, PDF в HTML, PDF в PDF/A с высоким качеством и точностью. Являясь расширенной PDF-библиотекой Python, она также предоставляет разработчикам богатый API-интерфейс, позволяющий настраивать параметры преобразования в соответствии с различными требованиями преобразования.

Вы можете установить его, выполнив следующую команду pip.

pip install Spire.PDF

Действия по преобразованию изображения в PDF в Python

  • Инициализируйте класс PdfDocument.
  • Загрузите файл изображения по указанному пути, используя метод FromFile.
  • Добавьте в документ страницу указанного размера.
  • Нарисуйте изображение на странице в указанном месте, используя метод DrawImage.
  • Сохраните документ в PDF-файл, используя метод SaveToFile.

Преобразование изображения в PDF-документ в Python

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

  • Python
from spire.pdf.common import *
from spire.pdf import *

# Create a PdfDocument object
doc = PdfDocument()

# Set the page margins to 0
doc.PageSettings.SetMargins(0.0)

# Load a particular image
image = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\Images\\img-1.jpg")

# Get the image width and height
width = image.PhysicalDimension.Width
height = image.PhysicalDimension.Height

# Add a page that has the same size as the image
page = doc.Pages.Add(SizeF(width, height))

# Draw image at (0, 0) of the page
page.Canvas.DrawImage(image, 0.0, 0.0, width, height)

# Save to file
doc.SaveToFile("output/ImageToPdf.pdf")
doc.Dispose()

Convert Image to PDF with Python

Преобразование нескольких изображений в PDF-документ в Python

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

  • Python
from spire.pdf.common import *
from spire.pdf import *
import os

# Create a PdfDocument object
doc = PdfDocument()

# Set the page margins to 0
doc.PageSettings.SetMargins(0.0)

# Get the folder where the images are stored
path = "C:\\Users\\Administrator\\Desktop\\Images\\"
files = os.listdir(path)

# Iterate through the files in the folder
for root, dirs, files in os.walk(path):
    for file in files:

        # Load a particular image
        image = PdfImage.FromFile(os.path.join(root, file))

        # Get the image width and height
        width = image.PhysicalDimension.Width
        height = image.PhysicalDimension.Height

        # Add a page that has the same size as the image
        page = doc.Pages.Add(SizeF(width, height))

        # Draw image at (0, 0) of the page
        page.Canvas.DrawImage(image, 0.0, 0.0, width, height)

# Save to file
doc.SaveToFile('output/ImagesToPdf.pdf')
doc.Dispose()

Convert Image to PDF with Python

Создание PDF-файла из нескольких изображений Настройка полей страницы в Python

В этом примере кода создается документ PDF, заполняется изображениями из указанной папки, настраиваются поля страницы и сохраняется полученный документ в файл.

  • Python
from spire.pdf.common import *
from spire.pdf import *
import os

# Create a PdfDocument object
doc = PdfDocument()

# Set the left, top, right, bottom page margin
doc.PageSettings.SetMargins(30.0, 30.0, 30.0, 30.0)

# Get the folder where the images are stored
path = "C:\\Users\\Administrator\\Desktop\\Images\\"
files = os.listdir(path)

# Iterate through the files in the folder
for root, dirs, files in os.walk(path):
    for file in files:

        # Load a particular image
        image = PdfImage.FromFile(os.path.join(root, file))

        # Get the image width and height
        width = image.PhysicalDimension.Width
        height = image.PhysicalDimension.Height

        # Specify page size
        size = SizeF(width + doc.PageSettings.Margins.Left + doc.PageSettings.Margins.Right, height + doc.PageSettings.Margins.Top+ doc.PageSettings.Margins.Bottom)

        # Add a page with the specified size
        page = doc.Pages.Add(size)

        # Draw image on the page at (0, 0)
        page.Canvas.DrawImage(image, 0.0, 0.0, width, height)

# Save to file
doc.SaveToFile('output/CustomizeMargins.pdf')
doc.Dispose()

Convert Image to PDF with Python

Создайте PDF-файл с несколькими изображениями на странице в Python

Этот код демонстрирует, как использовать библиотеку Spire.PDF в Python для создания PDF-документа с двумя изображениями на странице. Изображения в этом примере имеют одинаковый размер. Если размер вашего изображения не одинаков, вам необходимо настроить код для достижения желаемого результата.

  • Python
from spire.pdf.common import *
from spire.pdf import *
import os

# Create a PdfDocument object
doc = PdfDocument()

# Set the left, top, right, bottom page margins
doc.PageSettings.SetMargins(15.0, 15.0, 15.0, 15.0)

# Get the folder where the images are stored
path = "C:\\Users\\Administrator\\Desktop\\Images\\"
files = os.listdir(path)

# Iterate through the files in the folder
for root, dirs, files in os.walk(path):

    for i in range(len(files)):

        # Load a particular image
        image = PdfImage.FromFile(os.path.join(root, files[i]))

        # Get the image width and height
        width = image.PhysicalDimension.Width
        height = image.PhysicalDimension.Height

        # Specify page size
        size = SizeF(width + doc.PageSettings.Margins.Left + doc.PageSettings.Margins.Right, height*2 + doc.PageSettings.Margins.Top+ doc.PageSettings.Margins.Bottom + 15.0)

        if i % 2 == 0:

            # Add a page with the specified size
            page = doc.Pages.Add(size)

            # Draw first image on the page at (0, 0)
            page.Canvas.DrawImage(image, 0.0, 0.0, width, height)
        else :

            # Draw second image on the page at (0, height + 15)
            page.Canvas.DrawImage(image, 0.0, height + 15.0, width, height)

# Save to file
doc.SaveToFile('output/SeveralImagesPerPage.pdf')
doc.Dispose()

Convert Image to PDF with Python

Заключение

В этой записи блога мы рассмотрели, как использовать Spire.PDF for python для создания PDF-документов из изображений, содержащих одно или несколько изображений на странице. Кроме того, мы продемонстрировали, как настроить размер страницы PDF и поля вокруг изображений. Дополнительные руководства можно найти в нашей онлайн-документации. Если у вас есть какие-либо вопросы, не стесняйтесь обращаться к нам по электронной почте или на форуме.

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