1. Sản Phẩm
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Python

Aspose.PDF FOSS cho Python

Thư viện Python mã nguồn mở để tạo, đọc, chỉnh sửa, render và xác thực tài liệu PDF — được cấp phép MIT mà không có phí chạy thời gian.

Aspose.PDF FOSS — Thư viện PDF Python mã nguồn mở

Aspose.PDF FOSS for Python là một thư viện mã nguồn mở để tạo, đọc, chỉnh sửa, render và xác thực tài liệu PDF. Được xây dựng cho Python 3.11 trở lên, nó cung cấp thông tin kiểu và tích hợp vào bất kỳ dự án Python nào (xem phần cài đặt bên dưới). Dự án hiện đang ở giai đoạn alpha, vì vậy các API và phạm vi tính năng vẫn tiếp tục phát triển trước khi có bản phát hành ổn định đầu tiên.

Lớp Document là điểm vào trung tâm, cung cấp pages, form, outlines, và tagged_content để chỉnh sửa cấu trúc cùng với các thao tác encrypt, decrypt, merge, optimize, và flatten. Văn bản được thêm bằng Page.add_text() và trích xuất hoặc tìm kiếm bằng PdfExtractor và TextFragmentAbsorber, bao gồm việc thay thế và che dấu dựa trên cụm từ và regex. Các trang render thành hình raster PNG hoặc TIFF thông qua Page.render() và Page.save_as_image(). Các trường AcroForm tương tác được tạo và điền dữ liệu thông qua Form và Field, và tài liệu có thể được kiểm tra hoặc chuyển đổi sang tuân thủ PDF/A và PDF/UA bằng Document.validate_pdfa(), Document.convert_to_pdfa(), và Document.auto_tag().

Aspose.PDF FOSS for Python được phát hành dưới giấy phép MIT mà không có phí chạy thời gian hay giới hạn sử dụng. Gói cốt lõi chỉ phụ thuộc vào cryptography và asn1crypto, với các phần mở rộng tùy chọn cho hỗ trợ hình ảnh dựa trên Pillow, giải mã WOFF2 dựa trên Brotli, và bố cục văn bản phức tạp dựa trên HarfBuzz. Đối với các tính năng và hỗ trợ doanh nghiệp, xem Aspose.PDF for Python — Enterprise Product.

Các thao tác trên tài liệu và trang

  • Tạo, tải, lưu và hợp nhất PDF thông qua Document
  • Quản lý các trang với PageCollection có thể thay đổi được được phơi bày dưới dạng document.pages
  • Thêm văn bản Standard-14 hoặc Unicode được nhúng với vị trí bằng Page.add_text()
  • Đặt hình ảnh thô, JPEG hoặc PNG lên các trang bằng Page.add_image()
  • Vẽ các hình dạng vector bằng Page.draw_rectangle() và Page.draw_line()

Các kịch bản thực tế

  • Tạo hóa đơn, chứng chỉ và báo cáo một cách lập trình
  • Sản xuất hàng loạt tài liệu từ mẫu chung
  • Lắp ráp báo cáo đa trang từ các phần đã tạo
  • Xây dựng PDF hoàn toàn trong bộ nhớ bên trong một dịch vụ web

Trích xuất Văn bản và Tìm kiếm

  • Trích xuất toàn bộ văn bản trang bằng PdfExtractor và get_text()
  • Lặp lại văn bản từng trang bằng has_next_page_text() và get_next_page_text()
  • Tìm kiếm các cụm từ chính xác và mẫu regex bằng TextFragmentAbsorber
  • Thay thế văn bản khớp bằng Document.replace_text()
  • Xóa bỏ văn bản khớp bằng Document.redact_text(), tùy chọn vẽ một thanh phủ lên trên

Các kịch bản thực tế

  • Xây dựng các chỉ mục tìm kiếm toàn văn trên các kho lưu trữ tài liệu
  • Xóa thông tin nhận dạng cá nhân trước khi chia sẻ
  • Tìm và thay thế nội dung mẫu trên các hợp đồng đã được mẫu hoá
  • Kiểm toán các tài liệu đến để phát hiện các thuật ngữ nhạy cảm

Kết xuất Trang thành Hình ảnh

  • Render một trang thành raster RGB không phụ thuộc bằng Page.render()
  • Lưu đầu ra đã render dưới dạng PNG hoặc TIFF thông qua Page.save_as_image()
  • Thực hiện batch-render toàn bộ tài liệu bằng Document.save_page_as_image()
  • Kiểm soát độ phân giải bằng tham số dpi và chất lượng cạnh bằng antialias
  • Đọc dữ liệu pixel thô từ RasterizedPage được trả về

Các kịch bản thực tế

  • Tạo hình thu nhỏ trang cho thư viện quản lý tài liệu
  • Sản xuất bằng chứng TIFF chuẩn in từ bố cục đã hoàn thành
  • Xây dựng các bộ sưu tập xem trước trang cho trình xem tài liệu
  • Chuyển đổi các kho lưu trữ PDF cũ sang định dạng xem dựa trên hình ảnh

Biểu mẫu và Trường tương tác

  • Đọc và lặp lại các trường AcroForm thông qua Document.form
  • Tạo các trường văn bản bằng Form.add_text_field()
  • Tạo các hộp kiểm và nhóm radio bằng Form.add_checkbox() và Form.add_radio_group()
  • Tạo các hộp danh sách và hộp kết hợp bằng Form.add_list_box() và Form.add_combo_box()
  • Đặt giá trị theo tên trường bằng Field.value, sau đó làm phẳng bằng Document.flatten()

Các kịch bản thực tế

  • Tự động hoá quy trình điền mẫu hoá đơn và hợp đồng
  • Điền sẵn các mẫu ứng dụng trước khi phân phối
  • Lưu trữ các mẫu đã điền dưới dạng PDF không thể chỉnh sửa, nội dung tĩnh
  • Trích xuất các giá trị trường đã gửi để xử lý tiếp theo

Bảo mật, Mã hóa và Chữ ký

  • Mã hóa tài liệu bằng Document.encrypt() sử dụng mật khẩu người dùng và chủ sở hữu
  • Thay đổi hoặc xóa mật khẩu bằng Document.change_passwords() và Document.decrypt()
  • Xác thực chữ ký số nhúng bằng PdfSignature.validate()
  • Giới hạn đầu vào không tin cậy bằng PdfLoadLimits có thể cấu hình
  • Kiểm tra người ký, mức độ tin cậy và trạng thái thu hồi thông qua ValidationResult

Các kịch bản thực tế

  • Bảo vệ các báo cáo bí mật bằng mật khẩu cho từng người nhận
  • Xác minh các hợp đồng đã ký trước khi lưu trữ
  • Củng cố quy trình nhập PDF để chống tải lên độc hại
  • Thực thi các hạn chế quyền in và sao chép trên các tệp được phân phối

Tuân thủ PDF/A và PDF/UA

  • Chạy kiểm tra heuristic PDF/A với Document.validate_pdfa()
  • Chuyển đổi tài liệu sang PDF/A với Document.convert_to_pdfa()
  • Chạy kiểm tra khả năng truy cập PDF/UA heuristic với Document.validate_pdfua()
  • Tự động gắn thẻ nội dung trang hiện có vào cây cấu trúc với Document.auto_tag()
  • Kiểm tra và chỉnh sửa cây thẻ thông qua Document.tagged_content

Các kịch bản thực tế

  • Chuẩn bị tài liệu gửi đi cho việc lưu trữ kỹ thuật số lâu dài
  • Kiểm tra các PDF đến để phát hiện các khoảng trống về khả năng truy cập trước khi xuất bản
  • Xây dựng báo cáo tuân thủ cho các ngành công nghiệp bị quản lý
  • Khắc phục các PDF cũ nhằm đạt tiêu chuẩn khả năng truy cập

Tạo PDF và Thêm Văn bản

Tạo một tài liệu PDF mới và thêm văn bản được định vị vào một trang trong vài dòng.

git clone https://github.com/aspose-pdf-foss/Aspose-PDF-FOSS-for-Python.git
cd Aspose-PDF-FOSS-for-Python
pip install -e .
from aspose_pdf import Document
with Document() as document:
    page = document.pages.add()
    page.add_text(
        "Hello from Aspose.PDF FOSS!",
        x=72,
        y=720,
        font_size=18,
    )
    document.save("hello.pdf")

Kết xuất một Trang thành Hình ảnh

Tải một tệp PDF hiện có và lưu trang đầu tiên của nó dưới dạng hình raster với DPI có thể cấu hình.

from aspose_pdf import Document
with Document() as document:
    document.load_from("input.pdf")
    document.pages[0].save_as_image("page-1.png", dpi=144)

Trích xuất Văn bản từ PDF

Liên kết một tài liệu và trích xuất toàn bộ văn bản các trang của nó bằng extractor facade.

from aspose_pdf import PdfExtractor
with PdfExtractor() as extractor:
    extractor.bind_pdf("input.pdf")
    extractor.extract_text()
    print(extractor.get_text())

Ghép các tệp PDF

Nối một vài tệp PDF thành một tài liệu đầu ra duy nhất.

from aspose_pdf import PdfFileEditor
with PdfFileEditor() as editor:
    if not editor.concatenate(["part-1.pdf", "part-2.pdf"], "merged.pdf"):
        raise RuntimeError(editor.last_exception)
  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt