Konversikan Dokumen ke PDF
Kemampuan untuk mengkonversi dokumen dengan mudah dan andal dari satu format ke format lainnya adalah fitur utama Aspose.Words. Salah satu format konversi yang paling populer adalah PDF – format tata letak tetap, yang mempertahankan tampilan asli dokumen selama rendering di berbagai platform. Istilah “render” digunakan di Aspose.Words untuk menggambarkan proses mengubah dokumen menjadi format file yang diberi halaman atau memiliki konsep halaman.
Konversikan Dokumen Word ke PDF
Konversi dari Word ke PDF merupakan proses yang agak rumit yang memerlukan beberapa tahapan perhitungan. Mesin tata letak Aspose.Words meniru cara kerja mesin tata letak halaman Microsoft Word, membuat dokumen keluaran PDF terlihat sedekat mungkin dengan apa yang Anda lihat di Microsoft Word.
Dengan Aspose.Words Anda dapat mengonversi dokumen secara terprogram dari format Word, seperti DOC atau DOCX, ke PDF tanpa menggunakan Microsoft Office. Artikel ini menjelaskan cara melakukan konversi ini.
Konversi DOC atau DOCX ke PDF
Mengonversi format dokumen DOC atau DOCX ke format PDF di Aspose.Words sangat mudah dan dapat dilakukan hanya dengan dua baris kode yaitu:
- Muat dokumen Anda ke dalam objek Document menggunakan salah satu konstruktornya dengan menentukan nama dokumen dengan ekstensi formatnya.
- Aktifkan salah satu metode Document.save pada objek Document dan tentukan format output yang diinginkan sebagai PDF dengan memasukkan nama file berekstensi “.PDF”.
Contoh kode berikut menunjukkan cara mengkonversi dokumen dari DOCX ke PDF menggunakan metode 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") |
Anda dapat mengunduh file template contoh ini dari Aspose.Words GitHub.
Terkadang perlu menentukan opsi tambahan, yang dapat memengaruhi hasil penyimpanan dokumen sebagai PDF. Pilihan ini dapat ditentukan dengan menggunakan kelas PdfSaveOptions, yang berisi properti yang menentukan bagaimana keluaran PDF akan ditampilkan.
Perhatikan bahwa dengan teknik yang sama, Anda dapat mengonversi dokumen format tata letak aliran apa pun ke format PDF.
Konversikan ke Berbagai Standar PDF
Aspose.Words menyediakan enumerasi PdfCompliace untuk mendukung konversi DOC atau DOCX ke berbagai standar format PDF (seperti PDF 1.7, PDF 1.5, dll.).
Contoh kode berikut menunjukkan cara mengonversi dokumen ke PDF 1.7 menggunakan PdfSaveOptions dengan kepatuhan terhadap 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) |
Konversi Gambar ke PDF
Mengonversi ke PDF tidak dibatasi oleh format dokumen Microsoft Word. Format apa pun yang didukung oleh Aspose.Words, termasuk yang dibuat secara terprogram, juga dapat dikonversi ke PDF. Misalnya, kita dapat mengonversi gambar satu halaman, seperti JPEG, PNG, BMP, EMF, atau WMF, serta gambar multi halaman, seperti TIFF dan GIF, ke PDF.
Contoh kode berikut menunjukkan cara mengonversi gambar JPEG dan TIFF ke 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") |
# 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) |
Agar kode ini berfungsi, Anda perlu menambahkan referensi ke Aspose.Words dan aspose.pydrawing
ke proyek Anda.
Kurangi Ukuran Keluaran PDF
Saat menyimpan ke PDF, Anda dapat menentukan apakah Anda ingin mengoptimalkan hasilnya. Untuk melakukan ini, Anda perlu menyetel tanda optimize_output ke true, lalu kanvas bertumpuk dan kanvas kosong yang berlebihan akan dihapus, glyph tetangga dengan format yang sama akan digabungkan.
# 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) |
Kurangi Ukuran Keluaran PDF
Saat menyimpan ke PDF, Anda dapat menentukan apakah Anda ingin mengoptimalkan hasilnya. Untuk melakukan ini, Anda perlu menyetel tanda optimize_output ke true, lalu kanvas bertumpuk dan kanvas kosong yang berlebihan akan dihapus, glyph tetangga dengan format yang sama akan digabungkan.
Lihat juga
- Artikel Render untuk informasi lebih lanjut tentang format halaman tetap dan tata letak alur
- Artikel Mengonversi ke Format Halaman Tetap untuk informasi lebih lanjut tentang tata letak halaman
- Artikel Tentukan Opsi Rendering Saat Mengonversi ke PDF untuk informasi lebih lanjut tentang penggunaan kelas PdfSaveOptions