Konvertieren Sie ein Dokument in PDF

Die Fähigkeit, Dokumente einfach und zuverlässig von einem Format in ein anderes zu konvertieren, ist eine Schlüsselfunktion von Aspose.Words. Eines der beliebtesten Formate für die Konvertierung ist PDF – ein Format mit festem Layout, das das ursprüngliche Erscheinungsbild eines Dokuments beim Rendern auf verschiedenen Plattformen beibehält. Der Begriff “Rendering” wird in Aspose.Words verwendet, um den Prozess der Konvertierung eines Dokuments in ein Dateiformat zu beschreiben, das paginiert ist oder das Konzept von Seiten hat.

Konvertieren Sie ein Word-Dokument in PDF

Die Konvertierung von Word in PDF ist ein ziemlich komplexer Prozess, der mehrere Berechnungsschritte erfordert. Die Aspose.Words-Layout-Engine ahmt die Funktionsweise der Seitenlayout-Engine von Microsoft Word nach und sorgt dafür, dass PDF-Ausgabedokumente so nah wie möglich an dem aussehen, was Sie in Microsoft Word sehen können.

Mit Aspose.Words können Sie ein Dokument programmgesteuert aus Word-Formaten wie DOC oder DOCX in PDF konvertieren, ohne Microsoft Office zu verwenden. In diesem Artikel wird erläutert, wie Sie diese Konvertierung durchführen.

Konvertieren Sie DOC oder DOCX in PDF

Die Konvertierung vom DOC- oder DOCX-Dokumentformat in das PDF-Format in Aspose.Words ist sehr einfach und kann mit nur zwei Codezeilen durchgeführt werden, die:

  1. Laden Sie Ihr Dokument mithilfe eines seiner Konstruktoren in ein Document-Objekt, indem Sie den Dokumentnamen mit seiner Formaterweiterung angeben.
  2. Rufen Sie eine der Document.save-Methoden für das Document-Objekt auf und geben Sie das gewünschte Ausgabeformat als PDF an, indem Sie einen Dateinamen mit der Erweiterung “.PDF” eingeben.

Das folgende Codebeispiel zeigt, wie Sie ein Dokument mithilfe der save-Methode von DOCX in PDF konvertieren:

# 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

Sie können die Vorlagendatei dieses Beispiels von Aspose.Words GitHub herunterladen.

Konvertieren Sie in verschiedene PDF-Standards

Aspose.Words stellt die PdfCompliace-Enumeration zur Unterstützung der Konvertierung von DOC oder DOCX in verschiedene PDF-Formatstandards (z. B. PDF 1.7, PDF 1.5 usw.) bereit.

Das folgende Codebeispiel zeigt, wie ein Dokument mithilfe von PdfSaveOptions und PDF17-Konformität in PDF 1.7 konvertiert wird:

# 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)

Konvertieren Sie Bilder in PDF

Die Konvertierung in PDF ist nicht durch Microsoft Word-Dokumentformate eingeschränkt. Jedes von Aspose.Words unterstützte Format, auch programmgesteuert erstellte, kann ebenfalls in PDF konvertiert werden. Wir können beispielsweise einseitige Bilder wie JPEG, PNG, BMP, EMF oder WMF sowie mehrseitige Bilder wie TIFF und GIF in PDF konvertieren.

Das folgende Codebeispiel zeigt, wie JPEG- und TIFF-Bilder in PDF konvertiert werden:

# 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)

Damit dieser Code funktioniert, müssen Sie Ihrem Projekt Verweise auf Aspose.Words und aspose.pydrawing hinzufügen.

Reduzieren Sie die PDF-Ausgabegröße

Beim Speichern als PDF können Sie angeben, ob Sie die Ausgabe optimieren möchten. Dazu müssen Sie das optimize_output-Flag auf true setzen. Anschließend werden überflüssige verschachtelte Leinwände und leere Leinwände entfernt und benachbarte glyph-Dateien mit derselben Formatierung werden verkettet.

# 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)

Reduzieren Sie die PDF-Ausgabegröße

Beim Speichern als PDF können Sie angeben, ob Sie die Ausgabe optimieren möchten. Dazu müssen Sie das optimize_output-Flag auf true setzen. Anschließend werden überflüssige verschachtelte Leinwände und leere Leinwände entfernt und benachbarte glyph-Dateien mit derselben Formatierung werden verkettet.

Siehe auch

– Der Artikel Rendern für weitere Informationen zu den Formaten mit fester Seite und Flow-Layout