ეს არის პროფესიონალური გადაწყვეტა, რომ შეკუმშოს PDF Python გამოყენებით. გამოიყენეთ ჩვენი PDF ოპტიმიზაციის API პითონში მაღალი დონის, პლატფორმისგან დამოუკიდებელი პროგრამული უზრუნველყოფის შესაქმნელად. სცადეთ ონლაინ უფასოდ!
ეს Python ბიბლიოთეკა დეველოპერებს აძლევს შესაძლებლობას სწრაფად და ეფექტურად შეკუმშონ PDF დოკუმენტები პროგრამულად. მარტივად მიიღეთ PDF ის ოპტიმიზირებული გამომავალი, რომელიც მზად არის დაბეჭდვის, დაარქივებისთვის ან ქსელში გასაზიარებლად. ეს არის PDF დოკუმენტის დამუშავების დამოუკიდებელი გადაწყვეტა Python ისთვის, რომელიც არ საჭიროებს მესამე მხარის პროგრამული უზრუნველყოფის ინსტალაციას.
ჩვენი პროდუქტი Python ის დეველოპერებს უზრუნველყოფს ინტეგრირებული API ით PDF ფაილების ზომის შესამცირებლად. PDF შეკუმშვა ხორციელდება ორ პასში. პირველი გავლის დროს, PDF ის ყველა გვერდი გარდაიქმნება გამოსახულების ფორმატში. ჩვენი პროდუქტი იყენებს ადაპტირებულ და მაღალეფექტურ გამოსახულების შეკუმშვის ალგორითმებს, რომლებიც დეველოპერებს საშუალებას აძლევს მიიღონ კომპაქტური PDF გამომავალი დოკუმენტის ოპტიმალური ხარისხის შენარჩუნებით. მომდევნო უღელტეხილზე, სურათების თანმიმდევრობა შეკუმშულია და გაერთიანებულია ახალი, ოპტიმიზებული PDF ფაილის შინაარსის შესაქმნელად.
PDF შეკუმშვა 'Aspose.Words for Python via .NET'. შემდეგი მაგალითი გვიჩვენებს, თუ როგორ შეამციროთ PDF ფაილის ზომა Python ში:
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;
ჩვენ ვმასპინძლებთ ჩვენს Python პაკეტებს PyPi საცავებში. გთხოვთ, მიჰყვეთ ნაბიჯ-ნაბიჯ ინსტრუქციებს, თუ როგორ დააინსტალიროთ "Aspose.Words for Python via .NET" საშუალებით თქვენს დეველოპერის გარემოში.
ეს პაკეტი თავსებადია Python ≥3.5 თან და <3.12. თუ თქვენ განავითარებთ პროგრამულ უზრუნველყოფას Linux-ისთვის, გთხოვთ, გადახედოთ gcc და libpython ის დამატებით მოთხოვნებს პროდუქტის დოკუმენტაციაში.
თქვენ შეგიძლიათ ფაილების ოპტიმიზაცია მრავალი სხვა ფაილის ფორმატში: