Dette er en professionel løsning til at komprimere PDF ved hjælp af Python. Brug vores PDF optimerings API til at udvikle platform-uafhængig software på højt niveau i Python. Prøv det gratis online!
Dette Python bibliotek giver udviklere mulighed for hurtigt og effektivt at komprimere PDF dokumenter programmatisk. Få nemt optimeret PDF output klar til udskrivning, arkivering eller deling over netværket. Det er en selvstændig PDF dokumentbehandlingsløsning til Python, der ikke kræver nogen tredjepartssoftware, der skal installeres.
Vores produkt giver Python udviklere en integreret API til at reducere størrelsen af PDF filer. PDF komprimering udføres i to omgange. I løbet af det første gennemløb konverteres alle sider i PDF'en til billedformat. Vores produkt bruger adaptive og højeffektive billedkomprimeringsalgoritmer, der gør det muligt for udviklere at få kompakt PDF output og samtidig bevare den optimale kvalitet af dokumentet. Ved næste gennemløb komprimeres billedsekvensen og kombineres for at danne indholdet af en ny, optimeret PDF fil.
PDF komprimering gjort let med 'Aspose.Words for Python via .NET'. Følgende eksempel viser, hvordan du reducerer størrelsen af en PDF fil i Python:
pip install aspose-words
Kopi
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)):
# Indstil maksimal sidestørrelse for at undgå skalering af det aktuelle sidebillede.
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:
# Det er op til udvikleren at vælge biblioteket til billedkomprimering.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimer billedet og sæt det tilbage til formen.
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:
# Det er op til udvikleren at vælge biblioteket til billedkomprimering.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimer billedet og sæt det tilbage til formen.
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:
# Det er op til udvikleren at vælge biblioteket til billedkomprimering.
image = Image.open(shape.image_data.to_stream())
# ...
# Komprimer billedet og sæt det tilbage til formen.
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)):
# Indstil maksimal sidestørrelse for at undgå skalering af det aktuelle sidebillede.
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;
Vi hoster vores Python pakker i PyPi- depoter. Følg venligst trin-for-trin instruktionerne om, hvordan du installerer "Aspose.Words for Python via .NET" til dit udviklermiljø.
Denne pakke er kompatibel med Python ≥3.5 og <3.12. Hvis du udvikler software til Linux, så se venligst på yderligere krav til gcc og libpython i produktdokumentation.
Du kan optimere filer i mange andre filformater: