รหัสที่จะบีบอัด PDF ใน Python

ไลบรารี Python ประสิทธิภาพสูงเพื่อเพิ่มประสิทธิภาพเนื้อหาและขนาด PDF โดยรักษาคุณภาพดั้งเดิมและข้อมูลพื้นฐาน

นี่เป็นโซลูชันระดับมืออาชีพในการบีบอัด PDF โดยใช้ Python ใช้ PDF API การปรับให้เหมาะสมของเราเพื่อพัฒนาซอฟต์แวร์ระดับสูงที่ไม่ขึ้นกับแพลตฟอร์มใน Python ลองออนไลน์ฟรี!

ดูข้อมูลโค้ด

บีบอัด PDF ใน Python

ไลบรารี Python นี้ช่วยให้นักพัฒนาสามารถบีบอัดเอกสาร PDF ทางโปรแกรมได้อย่างรวดเร็วและมีประสิทธิภาพ รับเอาต์พุต PDF ที่ปรับให้เหมาะสมที่สุดอย่างง่ายดายพร้อมสำหรับการพิมพ์ เก็บถาวร หรือแชร์ผ่านเครือข่าย เป็นโซลูชันการประมวลผลเอกสาร PDF แบบสแตนด์อโลนสำหรับ Python ที่ไม่ต้องติดตั้งซอฟต์แวร์ของบุคคลที่สาม

ลดขนาด PDF โดยใช้ Python

ผลิตภัณฑ์ของเรามี API แบบบูรณาการสำหรับนักพัฒนา Python เพื่อลดขนาดไฟล์ PDF การบีบอัด PDF ดำเนินการในสองรอบ ในระหว่างการผ่านครั้งแรก ทุกหน้าของ PDF จะถูกแปลงเป็นรูปแบบภาพ ผลิตภัณฑ์ของเราใช้อัลกอริธึมการบีบอัดรูปภาพที่ปรับเปลี่ยนได้และมีประสิทธิภาพสูง ซึ่งช่วยให้นักพัฒนาได้รับเอาต์พุต PDF ขนาดกะทัดรัดในขณะที่ยังคงคุณภาพที่ดีที่สุดของเอกสาร ในรอบถัดไป ลำดับของรูปภาพจะถูกบีบอัดและรวมกันเพื่อสร้างเนื้อหาของไฟล์ PDF ใหม่ที่ได้รับการปรับให้เหมาะสม

การบีบอัด PDF ทำได้ง่ายด้วย 'Aspose.Words for Python via .NET' ตัวอย่างต่อไปนี้สาธิตวิธีการลดขนาดไฟล์ PDF ใน Python:

ตัวอย่างโค้ดใน Python เพื่อบีบอัด PDF files
อัปโหลดไฟล์ที่คุณต้องการเพิ่มประสิทธิภาพ/บีบอัด
รันโค้ด
เลือกรูปแบบเป้าหมายจากรายการ
50%
pip install aspose-words
สำเนา
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)):
           # กำหนดขนาดหน้าสูงสุดเพื่อหลีกเลี่ยงการปรับขนาดภาพหน้าปัจจุบัน
    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: # นักพัฒนาจะเลือกไลบรารี่สำหรับการบีบอัดภาพ image = Image.open(shape.image_data.to_stream()) # ... # บีบอัดรูปภาพแล้วตั้งค่ากลับเป็นรูปร่าง 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: # นักพัฒนาจะเลือกไลบรารี่สำหรับการบีบอัดภาพหรือไม่ image = Image.open(shape.image_data.to_stream()) # ... # บีบอัดรูปภาพแล้วตั้งค่ากลับเป็นรูปร่าง 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: # นักพัฒนาจะเลือกไลบรารี่สำหรับการบีบอัดภาพ image = Image.open(shape.image_data.to_stream()) # ... # บีบอัดรูปภาพแล้วตั้งค่ากลับเป็นรูปร่าง 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") save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.PDF) shape.get_shape_renderer().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)): # กำหนดขนาดหน้าสูงสุดเพื่อหลีกเลี่ยงการปรับขนาดภาพหน้าปัจจุบัน 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;
รันโค้ด

วิธีการบีบอัด PDF ใน Python

  1. ติดตั้ง Aspose.Words for Python via .NET
  2. เพิ่มการอ้างอิงไลบรารี (นำเข้าไลบรารี) ไปยังโปรเจ็กต์ Python ของคุณ
  3. เปิดไฟล์ต้นทาง PDF ใน Python
  4. บีบอัด PDF โดยไม่สูญเสียคุณภาพ
  5. เรียกเมธอด document_cleanup() รหัสผลลัพธ์อาจแตกต่างกันไปขึ้นอยู่กับรูปแบบไฟล์ที่ส่งออก
  6. รับผลลัพธ์ที่บีบอัดเป็นไฟล์ PDF

Python ไลบรารีเพื่อเพิ่มประสิทธิภาพและบีบอัด PDF ไฟล์

เราโฮสต์ Python ของเราในที่เก็บ PyPi โปรดปฏิบัติตาม คำแนะนำทีละขั้นตอน เกี่ยวกับวิธีการติดตั้ง "Aspose.Words for Python via .NET" ในสภาพแวดล้อมของนักพัฒนาซอฟต์แวร์ของคุณ

ความต้องการของระบบ

แพ็คเกจนี้เข้ากันได้กับ Python ≥3.5 และ <3.12 หากคุณพัฒนาซอฟต์แวร์สำหรับ Linux โปรดดูข้อกำหนดเพิ่มเติมสำหรับ gcc และ libpython ใน Product Documentation

การเพิ่มประสิทธิภาพรูปแบบไฟล์อื่นๆ ที่รองรับ

คุณสามารถปรับไฟล์ให้เหมาะสมในรูปแบบไฟล์อื่นๆ ได้มากมาย:

5%

สมัครสมาชิก Aspose Product Updates

รับจดหมายข่าวและข้อเสนอรายเดือนที่ส่งตรงถึงกล่องจดหมายของคุณ