Встраивание штрих‑кодов непосредственно в файлы PDF является распространённой потребностью для учёта запасов, билетирования и защищённых документооборотных процессов. Aspose.PDF for Python via .NET предоставляет надёжный SDK, который упрощает добавление штрих‑кода в PDF на Python. В этом руководстве вы узнаете, как генерировать изображения штрих‑кодов, размещать их в существующих PDF и настраивать их внешний вид. К концу вы сможете программно добавлять штрих‑коды в один или несколько PDF‑документов с уверенностью.

Как добавить штрих‑код в PDF на Python - пошагово

  1. Install the required packages: Установите необходимые пакеты, используя pip для установки Aspose.PDF и Aspose.BarCode.

    pip install aspose-pdf
    pip install aspose-barcode-for-python-via-net
    
  2. Generate the barcode image: Создайте изображение штрих‑кода с помощью Aspose.BarCode. Сгенерированное изображение можно сохранить в поток памяти.

    from aspose.barcode import generation
    

Generate the barcode image

generator = generation.BarcodeGenerator(generation.EncodeTypes.CODE39_STANDARD, “1234567”) generator.save(barcode_image, generation.BarCodeImageFormat.PNG)

<!--[CODE_SNIPPET_END]-->

3. **Create the target PDF document**: Откройте существующий PDF с помощью Aspose.PDF.  
<!--[CODE_SNIPPET_START]-->
```python
import aspose.pdf as ap

# Create a new PDF document and add a page
document = ap.Document("input.pdf")
page = document.pages.add()
page.set_page_size(595, 842)
  1. Insert the barcode image onto the desired page: Вставьте изображение штрих‑кода на нужную страницу, используя ImageStamp. При необходимости отрегулируйте позицию и размер.

    # Add the barcode image at the specified coordinates
    page.add_image(barcode_image, ap.Rectangle(100, 650, 300, 750, True))
    
  2. Save the updated PDF (or loop for bulk processing): Сохраните обновлённый PDF (или выполните цикл для пакетной обработки). Зафиксируйте изменения или пройдитесь по нескольким PDF‑файлам для массового добавления штрих‑кода в PDF с помощью Python.

    document.save(output_pdf)
    

Встраивание штрихкода в PDF с помощью Python — полный пример кода

Следующий пример демонстрирует полный рабочий процесс, который генерирует штрих‑код, встраивает его в существующий PDF и сохраняет результат.

import aspose.pdf as ap
from aspose.barcode import generation

def add_barcode_to_new_pdf(output_pdf, barcode_image):
    # Generate the barcode image
    generator = generation.BarcodeGenerator(generation.EncodeTypes.CODE39_STANDARD, "1234567")
    generator.save(barcode_image, generation.BarCodeImageFormat.PNG)

# Create a new PDF document and add a page
    document = ap.Document()
    page = document.pages.add()
    page.set_page_size(595, 842)

# Add the barcode image at the specified coordinates
    page.add_image(barcode_image, ap.Rectangle(100, 650, 300, 750, True))

# Save the resulting PDF document
    document.save(output_pdf)

if __name__ == "__main__":
    add_barcode_to_new_pdf("AddBarcodeToNewPDF.pdf", "barcode.png")

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

Aspose.PDF for Python via .NET - Требования и настройка

Чтобы начать использовать SDK, убедитесь, что у вас установлен Python 3.6+ и среда выполнения .NET. Затем установите пакеты с помощью pip:

pip install aspose-pdf aspose-barcode

Вы также можете скачать последние бинарные файлы со страницы загрузки. Для оценки не требуется дополнительный лицензионный код, но для использования в продакшене необходима действующая лицензия (см. страницу временной лицензии и страницу ценообразования).

Считывание штрихкода из PDF-документа с помощью Python

Мы можем распознать любое изображение штрих‑кода, встроенное на любой из страниц PDF‑документа, используя коллекцию resources.images объекта page. Это позволяет извлекать изображения из PDF, а затем считывать информацию о штрих‑коде из извлечённого изображения. Мы можем считывать штрих‑коды из PDF‑документов, следуя приведённым ниже шагам:

  1. Сначала загрузите входной PDF‑документ, используя класс Document.
  2. Затем выберите целевую страницу и получите её коллекцию resources.images.
  3. После этого сохраните каждое встроенное изображение в файл в цикле.
  4. Далее создайте экземпляр класса BarCodeReader с путём к изображению и DecodeType в качестве аргументов.
  5. Затем вызовите метод read_bar_codes(), чтобы получить результаты распознавания.
  6. Наконец, пройдитесь по результатам в цикле и отобразите информацию о штрих‑коде.

Следующий пример кода демонстрирует как считать изображение штрих‑кода из PDF‑документа с помощью Python.

import aspose.pdf as ap
from aspose.barcode import recognition
from io import FileIO

def read_barcode_from_pdf(input_pdf, extracted_image):
    # Load the input PDF document
    document = ap.Document(input_pdf)
    page = document.pages[1]

# Extract the first image from the page resources
    x_image = page.resources.images[1]
    with FileIO(extracted_image, "wb") as image_stream:
        x_image.save(image_stream)

# Read the barcode from the extracted image
    reader = recognition.BarCodeReader(extracted_image, recognition.DecodeType.CODE39_STANDARD)
    for result in reader.read_bar_codes():
        print(f"Codetext found: {result.code_text}")
        print(f"Symbology: {result.code_type_name}")

if __name__ == "__main__":
    read_barcode_from_pdf("AddBarcodeToExistingPDF.pdf", "extracted_barcode.png")
Codetext found: 1234567
Symbology: Code39Standard

Заключение

Добавление штрих‑кода в PDF в Python становится простым с помощью Aspose.PDF for Python via .NET. Мощные возможности SDK по работе с PDF в сочетании с генерацией штрих‑кодов Aspose.BarCode позволяют реализовать полный процесс добавления штрих‑кода в PDF всего в несколько строк кода. Независимо от того, обновляете ли вы один документ или выполняете массовое добавление штрих‑кода в PDF на Python для больших партий, библиотека предоставляет необходимую производительность и гибкость. Не забудьте получить соответствующую лицензию для использования в продакшене; вы можете ознакомиться с доступными ценовыми вариантами на странице цен или получить временную оценочную лицензию на странице временной лицензии.

Часто задаваемые вопросы

  • Как добавить штрих‑код в существующий PDF в Python?
    Используйте Aspose.PDF для загрузки PDF, сгенерируйте штрих‑код с помощью Aspose.BarCode и внедрите его с помощью add_image(). Полный процесс проиллюстрирован в примере кода выше.

  • Каков рекомендуемый подход для массового добавления штрих‑кода в PDF на Python?
    Пройдитесь по вашей коллекции PDF, повторно используйте один BarcodeGenerator и работайте с потоками. Примените рекомендации по производительности из раздела «Performance Considerations», чтобы снизить использование памяти.

  • Есть ли способ программно настроить размер и позицию штрихкода?
    Конечно. Отрегулируйте свойства width, height, x, y и rotation объекта barcode.

Читать далее