將條碼直接嵌入 PDF 文件是庫存追蹤、票務以及安全文件工作流程中的常見需求。Aspose.PDF for Python via .NET 提供了功能強大的 SDK,簡化了在 Python 中向 PDF 添加條碼的操作。在本教程中,您將學習如何生成條碼圖像、將其放置於現有 PDF 上,並自訂其外觀。完成後,您將能夠自信地以程式方式將條碼添加到單個或多個 PDF 文件中。
如何在 Python 中向 PDF 添加條碼 - 步驟說明
安裝所需的套件:使用 pip 安裝 Aspose.PDF 和 Aspose.BarCode。
pip install aspose-pdf pip install aspose-barcode-for-python-via-net產生條碼圖像:使用 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. **建立目標 PDF 文件**:使用 Aspose.PDF 開啟現有的 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)
將條碼圖像插入到指定頁面:使用 ImageStamp 放置條碼,並根據需要調整位置和大小。
# Add the barcode image at the specified coordinates page.add_image(barcode_image, ap.Rectangle(100, 650, 300, 750, True))儲存更新後的 PDF(或批次處理迴圈):持久化變更,或對多個 PDF 進行迭代,以在 Python 中批量向 PDF 添加條碼。
document.save(output_pdf)
使用 Python 在 PDF 中嵌入條碼 - 完整代碼示例
以下範例示範了一個完整的工作流程,該流程生成條碼,將其嵌入現有的 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
您也可以從下載頁面下載最新的二進位檔。評估時不需要額外的授權代碼,但在正式環境中需要有效的授權(請參閱臨時授權頁面和定價頁面)。
使用 Python 從 PDF 文檔讀取條形碼
我們可以使用 page 的 resources.images 集合來識別 PDF 文件任意頁面上嵌入的條碼圖像。它允許從 PDF 中提取圖像,然後我們將從提取的圖像中讀取條碼資訊。按照以下步驟,我們即可從 PDF 文件中讀取條碼:
- 首先,使用 Document 類別載入輸入的 PDF 文件。
- 接著,選取目標頁面並取得其 resources.images 集合。
- 然後,在迴圈中將每個嵌入的圖像儲存為檔案。
- 接下來,使用圖像路徑和 DecodeType 作為參數,建立 BarCodeReader 類別的實例。
- 之後,呼叫 read_bar_codes() 方法以取得辨識結果。
- 最後,遍歷結果並顯示條碼資訊。
以下程式碼範例示範 如何使用 Python 從 PDF 文件中讀取條碼圖像。
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
結論
在 Python 中向 PDF 添加條碼變得簡單,只需使用 Aspose.PDF for Python via .NET。SDK 強大的 PDF 操作功能結合 Aspose.BarCode 的條碼生成,讓您僅用幾行程式碼即可實現完整的向 PDF 添加條碼工作流程。無論是更新單個文件,還是為大量批次在 Python 中批量添加條碼,該庫都提供您所需的性能與彈性。請記得為生產環境取得適當的授權;您可以在 定價頁面 查看實惠的價格選項,或從 臨時授權頁面 獲取臨時評估授權。
常見問題
如何在 Python 中向現有 PDF 添加條碼?
使用 Aspose.PDF 加載 PDF,使用 Aspose.BarCode 生成條碼,並通過add_image()嵌入。完整過程在上面的代碼示例中有所說明。建議的在 Python 中批量向 PDF 添加條碼的做法是什麼?
迭代您的 PDF 集合,重用單個BarcodeGenerator,並使用串流。從「Performance Considerations」部分套用效能提示,以保持低記憶體使用量。是否有辦法以程式方式自訂條碼的大小和位置?
當然可以。調整barcode的width、height、x、y和rotation屬性。
