Mã để nén PDF trong Python

Thư viện Python hiệu suất cao để tối ưu hóa PDF nội dung và kích thước, giữ lại chất lượng ban đầu và dữ liệu cơ sở

Đây là một giải pháp chuyên nghiệp để nén PDF bằng Python. Sử dụng PDF API tối ưu hóa của chúng tôi để phát triển phần mềm cấp cao, độc lập với nền tảng bằng Python. Hãy thử nó trực tuyến miễn phí!

Xem đoạn mã

Nén PDF bằng Python

Thư viện Python này cung cấp cho các nhà phát triển khả năng nén nhanh chóng và hiệu quả các PDF tài liệu theo chương trình. Dễ dàng có được đầu ra PDF được tối ưu hóa sẵn sàng để in, lưu trữ hoặc chia sẻ qua mạng. Đây là một giải pháp xử lý PDF tài liệu độc lập cho Python mà không yêu cầu cài đặt bất kỳ phần mềm bên thứ ba nào.

Giảm kích thước của PDF tệp bằng Python

Sản phẩm của chúng tôi cung cấp cho các nhà phát triển Python một API tích hợp để giảm kích thước PDF tệp. Nén PDF được thực hiện trong hai lần. Trong lần chuyển đầu tiên, tất cả các trang của PDF được chuyển đổi sang định dạng hình ảnh. Sản phẩm của chúng tôi sử dụng các thuật toán nén hình ảnh thích ứng và hiệu quả cao cho phép các nhà phát triển có được đầu ra PDF nhỏ gọn trong khi vẫn duy trì chất lượng tối ưu của tài liệu. Trong lần chuyển tiếp theo, chuỗi hình ảnh được nén và kết hợp để tạo thành nội dung của PDF tệp mới, được tối ưu hóa.

Nén PDF dễ dàng với 'Aspose.Words for Python via .NET'. Ví dụ sau minh họa cách giảm kích thước của PDF tệp trong Python:

Ví dụ về mã trong Python để nén PDF tệp
Tải lên tệp bạn muốn tối ưu hóa / nén
Mã vận hành
Chọn định dạng mục tiêu từ danh sách
50%
pip install aspose-words
Sao chép
import aspose.words as aw

renderer = aw.pdf2word.fixedformats.PdfFixedRenderer()
pdf_read_options = aw.pdf2word.fixedformats.PdfFixedOptions()
pdf_read_options.image_format = aw.pdf2word.fixedformats.FixedImageFormat.JPEG
pdf_read_options.jpeg_quality = 50

with open ("Input.pdf", 'rb') as pdf_stream:
    pages_stream = renderer.save_pdf_as_images(pdf_stream, pdf_read_options);

builder = aw.DocumentBuilder()
for i in range(0, len(pages_stream)):
    # Đặt kích thước trang tối đa để tránh chia tỷ lệ hình ảnh trang hiện tại.
    max_page_dimension = 1584
    page_setup = builder.page_setup
    set_page_size(page_setup, max_page_dimension, max_page_dimension)

    page_image = builder.insert_image(pages_stream[i])

    set_page_size(page_setup, page_image.width, page_image.height)
    page_setup.top_margin = 0
    page_setup.left_margin = 0
    page_setup.bottom_margin = 0
    page_setup.right_margin = 0

    if i != len(pages_stream) - 1:
        builder.insert_break(aw.BreakType.SECTION_BREAK_NEW_PAGE)

save_options = aw.saving.PdfSaveOptions()
save_options.cache_background_graphics = true

builder.document.save("Output.pdf", save_options)

def set_page_size(page_setup, width, height):

    page_setup.page_width = width;
    page_setup.page_height = height;
import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Tùy nhà phát triển chọn thư viện để nén ảnh. image = Image.open(shape.image_data.to_stream()) # ... # Nén hình ảnh và đặt nó trở lại hình dạng. shape.image_data.set_image("yourCompressedImage") save_options = aw.saving.PdfSaveOptions save_options.cache_background_graphics = true doc.save("Output.pdf", save_options) import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Tùy nhà phát triển chọn thư viện để nén ảnh. image = Image.open(shape.image_data.to_stream()) # ... # Nén hình ảnh và đặt nó trở lại hình dạng. shape.image_data.set_image("yourCompressedImage") doc.save("Output.pdf") import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Tùy nhà phát triển chọn thư viện để nén ảnh. image = Image.open(shape.image_data.to_stream()) # ... # Nén hình ảnh và đặt nó trở lại hình dạng. shape.image_data.set_image("yourCompressedImage") save_options = aw.saving.OoxmlSaveOptions save_options.compression_level = aw.saving.CompressionLevel.MAXIMUM doc.save("Output.pdf", save_options) import aspose.words as aw doc = aw.Document() builder = aw.DocumentBuilder(doc) shape = builder.InsertImage("Input.pdf") # Cập nhật cài đặt trang để cắt tài liệu cho vừa với kích thước của hình ảnh. pageSetup = builder.page_setup pageSetup.page_width = shape.width pageSetup.page_height = shape.height pageSetup.top_margin = 0 pageSetup.left_margin = 0 pageSetup.bottom_margin = 0 pageSetup.right_margin = 0 save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.PDF) doc.save("Output.pdf", save_options) import aspose.words as aw renderer = aw.pdf2word.fixedformats.PdfFixedRenderer() pdf_read_options = aw.pdf2word.fixedformats.PdfFixedOptions() pdf_read_options.image_format = aw.pdf2word.fixedformats.FixedImageFormat.JPEG pdf_read_options.jpeg_quality = 50 with open ("Input.pdf", 'rb') as pdf_stream: pages_stream = renderer.save_pdf_as_images(pdf_stream, pdf_read_options); builder = aw.DocumentBuilder() for i in range(0, len(pages_stream)): # Đặt kích thước trang tối đa để tránh chia tỷ lệ hình ảnh trang hiện tại. max_page_dimension = 1584 page_setup = builder.page_setup set_page_size(page_setup, max_page_dimension, max_page_dimension) page_image = builder.insert_image(pages_stream[i]) set_page_size(page_setup, page_image.width, page_image.height) page_setup.top_margin = 0 page_setup.left_margin = 0 page_setup.bottom_margin = 0 page_setup.right_margin = 0 if i != len(pages_stream) - 1: builder.insert_break(aw.BreakType.SECTION_BREAK_NEW_PAGE) save_options = aw.saving.PdfSaveOptions() save_options.cache_background_graphics = true builder.document.save("Output.pdf", save_options) def set_page_size(page_setup, width, height): page_setup.page_width = width; page_setup.page_height = height;
Mã vận hành

Cách nén PDF

  1. Cài đặt Aspose.Words for Python via .NET.
  2. Thêm tham chiếu thư viện (nhập thư viện) vào dự án Python của bạn.
  3. Mở PDF tệp nguồn trong Python.
  4. Nén PDF mà không làm giảm chất lượng.
  5. Gọi phương thức document_cleanup(). Mã kết quả có thể khác nhau tùy thuộc vào định dạng tệp đầu ra.
  6. Nhận kết quả nén dưới dạng PDF tệp.

Python thư viện để tối ưu hóa và nén PDF tệp

Chúng tôi lưu trữ các gói Python trong kho lưu trữ PyPi. Vui lòng làm theo hướng dẫn từng bước về cách cài đặt "Aspose.Words for Python via .NET" vào môi trường nhà phát triển của bạn.

yêu cầu hệ thống

Gói này tương thích với Python ≥3.5 và <3.12. Nếu bạn phát triển phần mềm cho Linux, vui lòng xem các yêu cầu bổ sung đối với gcc và libpython trong Tài liệu sản phẩm.

Các tối ưu hóa định dạng tệp được hỗ trợ khác

Bạn có thể tối ưu hóa tệp ở nhiều định dạng tệp khác:

5%

Đăng ký cập nhật sản phẩm của Aspose

Nhận bản tin hàng tháng và ưu đãi gửi trực tiếp đến hộp thư của bạn.

© Aspose Pty Ltd 2001-2024. Đã đăng ký Bản quyền.