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’ye 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 düzen motoru, Microsoft Word’nin sayfa düzeni motorunun çalışma biçimini 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.

DOCX veya DOC’yi 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:

  1. Belgenizi, biçim uzantısıyla birlikte belge adını belirterek yapıcılarından birini kullanarak bir Document nesnesine yükleyin.
  2. 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-.NET.git.
Document doc = new Document(MyDir + "Document.docx");
doc.Save(ArtifactsDir + "BaseConversions.DocxToPdf.pdf");
view raw docx-to-pdf.cs hosted with ❤ by GitHub

Bu örneğin şablon dosyasını Aspose.Words GitHub‘ten indirebilirsiniz.

Farklı 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 PdfUyumluluk numaralandırması sağlar.

Aşağıdaki kod örneği, PDF17 uyumluluğuyla 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-.NET.git.
Document doc = new Document(MyDir + "Rendering.docx");
PdfSaveOptions saveOptions = new PdfSaveOptions { Compliance = PdfCompliance.Pdf17 };
doc.Save(ArtifactsDir + "WorkingWithPdfSaveOptions.ConversionToPdf17.pdf", saveOptions);

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-.NET.git.
ConvertImageToPdf(ImagesDir + "Logo.jpg", ArtifactsDir + "BaseConversions.JpgToPdf.pdf");
ConvertImageToPdf(ImagesDir + "Transparent background logo.png", ArtifactsDir + "BaseConversions.PngToPdf.pdf");
ConvertImageToPdf(ImagesDir + "Windows MetaFile.wmf", ArtifactsDir + "BaseConversions.WmfToPdf.pdf");
ConvertImageToPdf(ImagesDir + "Tagged Image File Format.tiff", ArtifactsDir + "BaseConversions.TiffToPdf.pdf");
ConvertImageToPdf(ImagesDir + "Graphics Interchange Format.gif", ArtifactsDir + "BaseConversions.GifToPdf.pdf");
view raw image-to-pdf.cs hosted with ❤ by GitHub
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
/// <summary>
/// Converts an image to PDF using Aspose.Words for .NET.
/// </summary>
/// <param name="inputFileName">File name of input image file.</param>
/// <param name="outputFileName">Output PDF file name.</param>
public void ConvertImageToPdf(string inputFileName, string outputFileName)
{
Console.WriteLine("Converting " + inputFileName + " to PDF ....");
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Read the image from file, ensure it is disposed.
using (Image image = Image.FromFile(inputFileName))
{
// 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".
FrameDimension dimension = new FrameDimension(image.FrameDimensionsList[0]);
int framesCount = image.GetFrameCount(dimension);
for (int frameIdx = 0; frameIdx < framesCount; frameIdx++)
{
// Insert a section break before each new page, in case of a multi-frame TIFF.
if (frameIdx != 0)
builder.InsertBreak(BreakType.SectionBreakNewPage);
image.SelectActiveFrame(dimension, frameIdx);
// 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.
PageSetup ps = builder.PageSetup;
ps.PageWidth = ConvertUtil.PixelToPoint(image.Width, image.HorizontalResolution);
ps.PageHeight = ConvertUtil.PixelToPoint(image.Height, image.VerticalResolution);
// Insert the image into the document and position it at the top left corner of the page.
builder.InsertImage(
image,
RelativeHorizontalPosition.Page,
0,
RelativeVerticalPosition.Page,
0,
ps.PageWidth,
ps.PageHeight,
WrapType.None);
}
}
doc.Save(outputFileName);
}

Bu kodun çalışması için projenize Aspose.Words ve System.Drawing‘ye referanslar eklemeniz gerekir.

PDF Çıktı Boyutunu Azaltın

PDF’ye kaydederken çıktıyı optimize etmek isteyip istemediğinizi belirtebilirsiniz. Bunu yapmak için OptimizeOutput 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.

Aşağıdaki kod örneği çıktının nasıl optimize edileceğini gösterir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document(MyDir + "Rendering.docx");
PdfSaveOptions saveOptions = new PdfSaveOptions { OptimizeOutput = true };
doc.Save(ArtifactsDir + "WorkingWithPdfSaveOptions.OptimizeOutput.pdf", saveOptions);

Ayrıca bakınız