Embedding mã vạch trực tiếp vào các tệp PDF là một yêu cầu phổ biến cho việc theo dõi tồn kho, bán vé và quy trình công việc tài liệu an toàn. Aspose.PDF for Python via .NET cung cấp một SDK mạnh mẽ giúp đơn giản hóa việc thêm mã vạch vào PDF trong Python. Trong hướng dẫn này, bạn sẽ học cách tạo hình ảnh mã vạch, đặt chúng lên các tệp PDF hiện có và tùy chỉnh giao diện của chúng. Khi kết thúc, bạn sẽ có thể lập trình thêm mã vạch vào một hoặc nhiều tài liệu PDF một cách tự tin.
Cách Thêm Mã Vạch vào PDF trong Python - Từng Bước
- Cài đặt các gói cần thiết: Sử dụng pip để cài đặt Aspose.PDF và Aspose.BarCode.
pip install aspose-pdf
pip install aspose-barcode-for-python-via-net
- Tạo hình ảnh mã vạch: Tạo mã vạch bằng Aspose.BarCode. Hình ảnh được tạo có thể lưu vào một luồng bộ nhớ.
from aspose.barcode import generation
# Generate the barcode image
generator = generation.BarcodeGenerator(generation.EncodeTypes.CODE39_STANDARD, "1234567")
generator.save(barcode_image, generation.BarCodeImageFormat.PNG)
- Tạo tài liệu PDF mục tiêu: Mở PDF hiện có bằng Aspose.PDF.
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)
- Chèn hình ảnh mã vạch vào trang mong muốn: Sử dụng ImageStamp để đặt mã vạch. Điều chỉnh vị trí và kích thước theo nhu cầu.
# Add the barcode image at the specified coordinates
page.add_image(barcode_image, ap.Rectangle(100, 650, 300, 750, True))
- Lưu PDF đã cập nhật (hoặc lặp lại để xử lý hàng loạt): Lưu các thay đổi hoặc lặp qua nhiều PDF để thêm mã vạch hàng loạt vào PDF bằng Python.
document.save(output_pdf)
Nhúng Mã vạch vào PDF bằng Python - Ví dụ mã đầy đủ
Ví dụ sau đây trình bày quy trình đầy đủ tạo mã vạch, nhúng nó vào một tệp PDF hiện có và lưu kết quả.
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")
Lưu ý: Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật các đường dẫn tệp để khớp với vị trí thực tế của chúng, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển của bạn. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.
Aspose.PDF for Python via .NET - Yêu cầu trước và Cài đặt
Để bắt đầu sử dụng SDK, hãy đảm bảo rằng bạn đã cài đặt Python 3.6+ và runtime .NET. Sau đó, cài đặt các gói bằng pip:
pip install aspose-pdf aspose-barcode
Bạn cũng có thể tải xuống các tệp nhị phân mới nhất từ trang tải xuống. Không cần mã cấp phép bổ sung cho việc đánh giá, nhưng cần có giấy phép hợp lệ cho việc sử dụng trong môi trường sản xuất (xem trang giấy phép tạm thời và trang giá).
Đọc mã vạch từ tài liệu PDF bằng Python
Chúng ta có thể nhận dạng bất kỳ hình ảnh mã vạch nào được nhúng trên bất kỳ trang nào của tài liệu PDF bằng cách sử dụng bộ sưu tập resources.images của một page. Điều này cho phép trích xuất hình ảnh từ PDF, và sau đó chúng ta sẽ đọc thông tin mã vạch từ hình ảnh đã được trích xuất. Chúng ta có thể đọc mã vạch từ các tài liệu PDF bằng cách thực hiện các bước dưới đây:
- Đầu tiên, tải tài liệu PDF đầu vào bằng lớp Document.
- Tiếp theo, chọn trang mục tiêu và lấy bộ sưu tập resources.images của nó.
- Sau đó, lưu mỗi hình ảnh nhúng vào một tệp trong vòng lặp.
- Tiếp theo, tạo một thể hiện của lớp BarCodeReader với đường dẫn hình ảnh và DecodeType làm đối số.
- Sau đó, gọi phương thức read_bar_codes() để nhận kết quả nhận dạng.
- Cuối cùng, lặp qua các kết quả và hiển thị thông tin mã vạch.
Ví dụ mã sau minh họa cách đọc hình ảnh mã vạch từ tài liệu PDF bằng 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
Kết luận
Thêm mã vạch vào PDF trong Python trở nên đơn giản với Aspose.PDF for Python via .NET. Các tính năng mạnh mẽ của SDK trong việc xử lý PDF kết hợp với khả năng tạo mã vạch của Aspose.BarCode cho phép bạn thực hiện quy trình thêm mã vạch vào PDF chỉ trong vài dòng code. Cho dù bạn đang cập nhật một tài liệu duy nhất hay thực hiện việc thêm mã vạch vào PDF hàng loạt trong Python cho các lô lớn, thư viện cung cấp hiệu năng và tính linh hoạt mà bạn cần. Hãy nhớ mua giấy phép phù hợp cho việc sử dụng trong môi trường sản xuất; bạn có thể khám phá các tùy chọn giá cả hợp lý trên trang giá hoặc nhận giấy phép đánh giá tạm thời từ trang giấy phép tạm thời.
Câu hỏi thường gặp
Làm thế nào để tôi thêm mã vạch vào một tệp PDF hiện có trong Python?
Sử dụng Aspose.PDF để tải PDF, tạo mã vạch bằng Aspose.BarCode và nhúng nó bằng cách sử dụngadd_image(). Quy trình đầy đủ được minh họa trong ví dụ mã ở trên.Cách tiếp cận được khuyến nghị để thêm hàng loạt Barcode vào PDF trong Python là gì?
Duyệt qua bộ sưu tập PDF của bạn, tái sử dụng mộtBarcodeGeneratorduy nhất và làm việc với các luồng. Áp dụng các mẹo hiệu suất từ phần “Performance Considerations” để giữ mức sử dụng bộ nhớ thấp.Có cách nào để tùy chỉnh kích thước và vị trí của mã vạch một cách lập trình không?
Chắc chắn. Điều chỉnh các thuộc tínhwidth,height,x,yvàrotationcủabarcode.
