Bir Belgeyi PDF'ye Dönüştürme
Belgeleri bir formattan diğerine kolay ve güvenilir bir şekilde dönüştürme yeteneği Aspose.Words’in önemli bir özelliğidir. Dönüştürme için en popüler formatlardan biri, bir belgenin çeşitli platformlarda işlenmesi sırasında orijinal görünümünü koruyan sabit düzen formatı olan PDF’dir. “Rendering” terimi Aspose.Words’te bir belgenin sayfalandırılmış veya sayfa kavramına sahip bir dosya biçimine dönüştürülmesi sürecini tanımlamak için kullanılır.
Word Belgesini PDF {#convert-a-word-document-to-pdf}‘e Dönüştürme
Word’den PDF’ye dönüştürme, birkaç hesaplama aşaması gerektiren oldukça karmaşık bir işlemdir. Aspose.Words mizanpaj motoru, Microsoft Word’nin sayfa mizanpajı motorunun çalışma şeklini taklit ederek PDF çıktı belgelerinin Microsoft Word’de gördüklerinize mümkün olduğunca yakın görünmesini sağlar.
Aspose.Words ile, Microsoft Office kullanmadan bir belgeyi DOC veya DOCX gibi Word biçimlerinden programlı olarak PDF’ye dönüştürebilirsiniz. Bu makalede bu dönüşümün nasıl gerçekleştirileceği açıklanmaktadır.
DOC veya DOCX’i PDF {#convert-doc-or-docx-to-pdf}‘ye dönüştürün
DOC veya DOCX belge formatından Aspose.Words’de PDF formatına dönüştürmek çok kolaydır ve yalnızca iki satır kodla gerçekleştirilebilir:
- Belgenizi, biçim uzantısıyla birlikte belge adını belirterek yapıcılarından birini kullanarak bir Document nesnesine yükleyin.
- Document nesnesinde Document.save yöntemlerinden birini çağırın ve “.PDF” uzantılı bir dosya adı girerek istediğiniz çıktı formatını PDF olarak belirtin.
Aşağıdaki kod örneği, save yöntemini kullanarak bir belgenin DOCX’ten PDF’ye nasıl dönüştürüleceğini gösterir:
# 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") |
Bu örneğin şablon dosyasını Aspose.Words GitHub‘ten indirebilirsiniz.
Bazen bir belgeyi PDF olarak kaydetmenin sonucunu etkileyebilecek ek seçeneklerin belirtilmesi gerekebilir. Bu seçenekler, PDF çıktısının nasıl görüntüleneceğini belirleyen özellikleri içeren PdfSaveOptions sınıfı kullanılarak belirtilebilir.
Aynı teknikle herhangi bir akış düzeni formatındaki belgeyi PDF formatına dönüştürebileceğinizi unutmayın.
Çeşitli PDF Standartlarına Dönüştürme
Aspose.Words, DOC veya DOCX’in çeşitli PDF formatı standartlarına (PDF 1.7, PDF 1.5 vb. gibi) dönüştürülmesini desteklemek için PdfCompliace numaralandırması sağlar.
Aşağıdaki kod örneği, PDF17 uyumlu PdfSaveOptions kullanarak bir belgenin PDF 1.7’ye nasıl dönüştürüleceğini gösterir:
# 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) |
Görüntüleri PDF’ye Dönüştür
PDF’ye dönüştürme Microsoft Word belge formatlarıyla sınırlı değildir. Programlı olarak oluşturulanlar da dahil olmak üzere Aspose.Words tarafından desteklenen herhangi bir format da PDF’ye dönüştürülebilir. Örneğin, JPEG, PNG, BMP, EMF veya WMF gibi tek sayfalı görsellerin yanı sıra TIFF ve GIF gibi çok sayfalı görselleri de PDF’ye dönüştürebiliriz.
Aşağıdaki kod örneği, JPEG ve TIFF görüntülerinin PDF’ye nasıl dönüştürüleceğini gösterir:
# 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) |
Bu kodun çalışması için projenize Aspose.Words ve aspose.pydrawing
‘ye referanslar eklemeniz gerekir.
PDF Çıktı Boyutunu Azaltın
PDF’ye kaydederken çıktıyı optimize etmek isteyip istemediğinizi belirtebilirsiniz. Bunu yapmak için optimize_output bayrağını true olarak ayarlamanız gerekir, ardından yedekli iç içe geçmiş tuvaller ve boş tuvaller kaldırılacak, aynı biçimlendirmeye sahip komşu glyph’ler birleştirilecektir.
# 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) |
PDF Çıktı Boyutunu Azaltın
PDF’ye kaydederken çıktıyı optimize etmek isteyip istemediğinizi belirtebilirsiniz. Bunu yapmak için optimize_output bayrağını true olarak ayarlamanız gerekir, ardından yedekli iç içe geçmiş tuvaller ve boş tuvaller kaldırılacak, aynı biçimlendirmeye sahip komşu glyph’ler birleştirilecektir.
Ayrıca bakınız
- Sabit sayfa ve akış düzeni formatları hakkında daha fazla bilgi için İşleme makalesi
- Sayfa düzeni hakkında daha fazla bilgi için Sabit Sayfa Formatına Dönüştürme makalesi
- PdfSaveOptions sınıfını kullanma hakkında daha fazla bilgi için PDF’ye Dönüştürürken İşleme Seçeneklerini Belirtin makalesi