Tämä on ammattimainen ratkaisu PDF:n pakkaamiseen Python. Käytä PDF optimointisovellusliittymäämme korkean tason, alustasta riippumattomien ohjelmistojen kehittämiseen Pythonissa. Kokeile verkossa ilmaiseksi!
Tämä Python kirjasto tarjoaa kehittäjille mahdollisuuden pakata PDF dokumentteja ohjelmallisesti nopeasti ja tehokkaasti. Saat optimoidun PDF tulosteen helposti valmiiksi tulostamista, arkistointia tai jakamista verkon kautta. Se on itsenäinen PDF dokumenttien käsittelyratkaisu Python, joka ei vaadi kolmannen osapuolen ohjelmiston asentamista.
Tuotteemme tarjoaa Python kehittäjille integroidun API PDF tiedostojen koon pienentämiseksi. PDF pakkaus suoritetaan kahdessa ajossa. Ensimmäisellä kerralla kaikki PDF tiedoston sivut muunnetaan kuvamuotoon. Tuotteemme käyttää mukautuvia ja erittäin tehokkaita kuvanpakkausalgoritmeja, joiden avulla kehittäjät voivat saada kompaktin PDF tulosteen säilyttäen samalla asiakirjan optimaalisen laadun. Seuraavalla kerralla kuvasarja pakataan ja yhdistetään uuden, optimoidun PDF tiedoston sisällön muodostamiseksi.
PDF pakkaus on tehty helpoksi 'Aspose.Words for Python via .NET'. Seuraava esimerkki osoittaa, kuinka PDF tiedoston kokoa pienennetään Python:
pip install aspose-words
Kopio
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)):
# Aseta sivun enimmäiskoko välttääksesi nykyisen sivun kuvan skaalaus.
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:
# Kehittäjä voi valita kuvan pakkauskirjaston.
image = Image.open(shape.image_data.to_stream())
# ...
# Pakkaa kuva ja aseta se takaisin muotoon.
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:
# Kehittäjä voi valita kuvan pakkauskirjaston.
image = Image.open(shape.image_data.to_stream())
# ...
# Pakkaa kuva ja aseta se takaisin muotoon.
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:
# Kehittäjä voi valita kuvan pakkauskirjaston.
image = Image.open(shape.image_data.to_stream())
# ...
# Pakkaa kuva ja aseta se takaisin muotoon.
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)):
# Aseta sivun enimmäiskoko välttääksesi nykyisen sivun kuvan skaalaus.
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 pakettejamme PyPi- varastoissa. Noudata vaiheittaisia ohjeita, kuinka "Aspose.Words for Python via .NET" kehittäjäympäristöösi.
Tämä paketti on yhteensopiva Python ≥3.5 ja <3.12 kanssa. Jos kehität ohjelmistoja Linuxille, tutustu gcc ja libpython lisävaatimuksiin tuotedokumentaatiosta.
Voit optimoida tiedostoja monissa muissa tiedostomuodoissa: