Conversia unui Document în PDF

Capacitatea de a converti ușor și fiabil documente dintr-un format în altul este o caracteristică cheie a Aspose.Words. Unul dintre cele mai populare formate pentru conversie este PDF – un format cu aspect fix, care păstrează aspectul original al unui document în timpul redării sale pe diferite platforme. Termenul" rendering " este folosit în Aspose.Words pentru a descrie procesul de conversie a unui document într-un format de fișier care este paginat sau are conceptul de pagini.

Conversia unui Document Word în PDF

Conversia de la Word la PDF este un proces destul de complex care necesită mai multe etape de calcul. Aspose.Words motorul de aspect imită modul în care funcționează motorul de aspect al paginii Microsoft Word, făcând documentele de ieșire PDF să arate cât mai aproape posibil de ceea ce puteți vedea în Microsoft Word.

Cu Aspose.Words puteți converti programatic un document din formate Word, cum ar fi DOC sau DOCX, în PDF fără a utiliza Microsoft Office. Acest articol explică modul de efectuare a acestei conversii.

Conversia DOC sau DOCX în PDF

Conversia din formatul documentului DOC sau DOCX în formatul PDF în Aspose.Words este foarte ușoară și poate fi realizată cu doar două linii de cod care:

  1. Încărcați documentul într-un obiect Document folosind unul dintre constructorii săi, specificând numele documentului cu extensia sa de format.
  2. Invocați una dintre metodele Document.save pe obiectul Document și specificați formatul de ieșire dorit ca PDF introducând un nume de fișier cu “.PDF” Extensie.

Următorul exemplu de cod arată cum se convertește un document din DOCX în PDF folosind metoda save:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document(MY_DIR + "Document.docx")
doc.save(ARTIFACTS_DIR + "BaseConversions.docx_to_pdf.pdf")
view raw docx-to-pdf.py hosted with ❤ by GitHub

Puteți descărca fișierul șablon al acestui exemplu din Aspose.Words GitHub.

Conversia la diverse PDF standarde

Aspose.Words oferă enumerarea PdfCompliace pentru a sprijini conversia DOC sau DOCX în diferite standarde de format PDF (cum ar fi PDF 1.7, PDF 1.5, etc.).

Următorul exemplu de cod demonstrează cum se convertește un document în PDF 1.7 folosind PdfSaveOptions Cu conformitate cu PDF17:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document(MY_DIR + "Rendering.docx")
save_options = aw.saving.PdfSaveOptions()
save_options.compliance = aw.saving.PdfCompliance.PDF17
doc.save(ARTIFACTS_DIR + "WorkingWithPdfSaveOptions.conversion_to_pdf_17.pdf", save_options)

Conversia imaginilor în PDF

Conversia în PDF nu este restricționată de formatele de documente Microsoft Word. Orice format acceptat de Aspose.Words, inclusiv creat programatic, poate fi, de asemenea, convertit în PDF. De exemplu, putem converti imagini cu o singură pagină, cum ar fi JPEG, PNG, BMP, EMF, sau WMF, precum și imagini cu mai multe pagini, cum ar fi TIFF și GIF, până la PDF.

Următorul exemplu de cod arată cum se convertesc imaginile JPEG și TIFF în PDF:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
self.convert_image_to_pdf(IMAGES_DIR + "Logo.jpg",
ARTIFACTS_DIR + "BaseConversions.JpgToPdf.pdf")
self.convert_image_to_pdf(IMAGES_DIR + "Transparent background logo.png",
ARTIFACTS_DIR + "BaseConversions.PngToPdf.pdf")
self.convert_image_to_pdf(IMAGES_DIR + "Windows MetaFile.wmf",
ARTIFACTS_DIR + "BaseConversions.WmfToPdf.pdf")
self.convert_image_to_pdf(IMAGES_DIR + "Tagged Image File Format.tiff",
ARTIFACTS_DIR + "BaseConversions.TiffToPdf.pdf")
self.convert_image_to_pdf(IMAGES_DIR + "Graphics Interchange Format.gif",
ARTIFACTS_DIR + "BaseConversions.GifToPdf.pdf")
view raw image-to-pdf.py hosted with ❤ by GitHub
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
@staticmethod
def convert_image_to_pdf(input_file_name: str, output_file_name: str):
"""Converts an image to PDF using Aspose.Words for .NET.
:param input_file_name: File name of input image file.
:param output_file_name: Output PDF file name.
"""
print("Converting " + input_file_name + " to PDF...")
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
# Read the image from file
with drawing.Image.from_file(input_file_name) as image:
# Find which dimension the frames in this image represent. For example
# the frames of a BMP or TIFF are "page dimension" whereas frames of a GIF image are "time dimension".
dimension = drawing.imaging.FrameDimension(image.frame_dimensions_list[0])
frames_count = image.get_frame_count(dimension)
for frame_idx in range(frames_count):
# Insert a section break before each new page, in case of a multi-frame TIFF.
if frame_idx != 0:
builder.insert_break(aw.BreakType.SECTION_BREAK_NEW_PAGE)
image.select_active_frame(dimension, frame_idx)
frame_stream = io.BytesIO()
image.save(frame_stream, drawing.imaging.ImageFormat.png)
# We want the size of the page to be the same as the size of the image.
# Convert pixels to points to size the page to the actual image size.
page_setup = builder.page_setup
page_setup.page_width = aw.ConvertUtil.pixel_to_point(image.width, image.horizontal_resolution)
page_setup.page_height = aw.ConvertUtil.pixel_to_point(image.height, image.vertical_resolution)
# Insert the image into the document and position it at the top left corner of the page.
builder.insert_image(
frame_stream,
aw.drawing.RelativeHorizontalPosition.PAGE,
0,
aw.drawing.RelativeVerticalPosition.PAGE,
0,
page_setup.page_width,
page_setup.page_height,
aw.drawing.WrapType.NONE)
doc.save(output_file_name)

Pentru ca acest cod să funcționeze, trebuie să adăugați referințe la Aspose.Words și aspose.pydrawing la proiectul dvs.

Reduceți Dimensiunea De Ieșire PDF

Când salvați în PDF, Puteți specifica dacă doriți să optimizați ieșirea. Pentru a face acest lucru, trebuie să setați steagul optimize_output la adevărat, iar apoi pânzele imbricate redundante și pânzele goale vor fi eliminate, glifele vecine cu aceeași formatare vor fi concatenate.

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git.
doc = aw.Document(MY_DIR + "Rendering.docx")
save_options = aw.saving.PdfSaveOptions()
save_options.optimize_output = True
doc.save(ARTIFACTS_DIR + "PdfSaveOptions.OptimizeOutput.pdf", save_options)

Reduceți Dimensiunea De Ieșire PDF

Când salvați în PDF, Puteți specifica dacă doriți să optimizați ieșirea. Pentru a face acest lucru, trebuie să setați steagul optimize_output la adevărat, iar apoi pânzele imbricate redundante și pânzele goale vor fi eliminate, glifele vecine cu aceeași formatare vor fi concatenate.

Vezi Și