See on professionaalne lahendus PDF faili tihendamiseks Python abil. Kasutage Pythonis kõrgetasemelise platvormist sõltumatu tarkvara arendamiseks meie PDF optimeerimise API t. Proovige seda veebis tasuta!
See Python teek annab arendajatele võimaluse PDF dokumente programmiliselt kiiresti ja tõhusalt tihendada. Saate hõlpsasti optimeeritud PDF väljundi printimiseks, arhiveerimiseks või võrgu kaudu jagamiseks valmis seada. See on Python jaoks eraldiseisev PDF dokumentide töötlemise lahendus, mis ei nõua kolmanda osapoole tarkvara installimist.
Meie toode pakub Python arendajatele integreeritud API d PDF failide suuruse vähendamiseks. PDF i tihendamine toimub kahe käiguga. Esimesel käigul teisendatakse kõik PDF i lehed pildivormingusse. Meie toode kasutab adaptiivseid ja ülitõhusaid pilditihendusalgoritme, mis võimaldavad arendajatel saada kompaktset PDF väljundit, säilitades samal ajal dokumendi optimaalse kvaliteedi. Järgmisel käigul tihendatakse piltide jada ja kombineeritakse uue optimeeritud PDF faili sisu.
PDF i tihendamine on tehtud lihtsaks rakendusega 'Aspose.Words for Python via .NET'. Järgmine näide näitab, kuidas Python PDF faili suurust vähendada.
pip install aspose-words
Kopeeri
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)):
# Määrake lehe maksimaalne suurus, et vältida praeguse lehe kujutise skaleerimist.
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:
# Kujutise tihendamiseks teegi valib arendaja.
image = Image.open(shape.image_data.to_stream())
# ...
# Tihendage pilt ja seadke see kuju tagasi.
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:
# Kujutise tihendamiseks teegi valib arendaja.
image = Image.open(shape.image_data.to_stream())
# ...
# Tihendage pilt ja seadke see kuju tagasi.
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:
# Kujutise tihendamiseks teegi valib arendaja.
image = Image.open(shape.image_data.to_stream())
# ...
# Tihendage pilt ja seadke see kuju tagasi.
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)):
# Määrake lehe maksimaalne suurus, et vältida praeguse lehe kujutise skaleerimist.
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;
Hoidame oma Python pakette PyPi hoidlates. Järgige samm-sammult juhiseid selle kohta, kuidas installida "Aspose.Words for Python via .NET" kaudu oma arendajakeskkonda.
See pakett ühildub Python ≥3.5 ja <3.12. Kui arendate tarkvara Linuxi jaoks, vaadake tootedokumentatsioonis gcc ja libpython lisanõudeid.
Saate optimeerida faile paljudes teistes failivormingutes: