Bir belgesi PDF'ye dönüştürün

Bir belgeyi bir formattan başka bir formata kolayca ve güvenilir bir şekilde dönüştürme yeteneği Aspose.Words’ın temel özelliklerindendir. Dönüştürmede en popüler formatlardan biri PDF’dir; bir sabit düzen formatıdır, bu da bir belgenin çeşitli platformlarda görüntülenmesinin orijinal görünümünü korur. “Rendering” terimi Aspose.Words ‘da bir belgeyi sayfalama veya sayfaların kavramına sahip olacak şekilde bir dosya formatına dönüştürme sürecini tanımlamak için kullanılır.

Bir Word belgesini PDF’ye dönüştürün

Word’den PDF’ye dönüştürme işlemi birkaç hesaplama aşamasını gerektiren oldukça karmaşık bir süreçtir. Aspose.Words düzeni motoru, Microsoft Word’deki sayfa düzeni motorunun nasıl çalıştığını taklit eder. Bu da PDF çıktısı belgeleri mümkün olduğunca Microsoft Word’de görebileceğiniz şeylere yakın görünmesini sağlar.

Bu Aspose.Words ile bir belgeyi Microsoft ofis olmadan DOC veya DOCX biçiminden PDF’ye programatik olarak dönüştürebilirsiniz. Bu makale bu dönüştürmeyi nasıl yapacağınızı açıklar.

DOCX veya DOC’tan PDF’ye dönüştürme

DOC veya DOCX belge biçimini PDF biçimine dönüştürmek Aspose.Words içinde çok kolay ve iki satır kod kullanarak yapılabilir:

  1. Dokümanınızı bir Document nesnesine, belirtilen belge adı ve dosya uzantısı ile bir oluşturucu kullanarak yükleyin.
  2. Bir Document.Save yöntemini Document nesnesine çağırın ve istediğiniz çıktı biçimini PDF olarak belirtmek için bir dosya adı ile “.PDF” uzantısını girin.

Aşağıdaki kod örneği Save yöntemini kullanarak bir belgenin nasıl DOCX’ten PDF’ye dönüştürülünü göstermektedir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
Document doc = new Document(getMyDir() + "Document.docx");
doc.save(getArtifactsDir() + "BaseConversions.DocxToPdf.pdf");

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

Farklı PDF Standartlarına Dönüştür

Aspose.Words çeşitli PDF biçim standartlarını (örneğin, PDF 1.7, PDF 1.5 vb.) desteklemek için DOC veya DOCX’i dönüştürmek için PdfCompliace numaralandırmasını sağlar.

Aşağıdaki kod örneği bir belgeyi PDF 1.7 formatına dönüştürmenin nasıl yapılacağını PdfSaveOptions‘i kullanarak PDF17 uyumluluğuna sahip olarak göstermektedir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
Document doc = new Document(getMyDir() + "Rendering.docx");
PdfSaveOptions saveOptions = new PdfSaveOptions(); { saveOptions.setCompliance(PdfCompliance.PDF_17); }
doc.save(getArtifactsDir() + "WorkingWithPdfSaveOptions.ConversionToPdf17.pdf", saveOptions);

Görüntüleri PDF’ye Dönüştür

PDF’ye dönüştürme Microsoft Word belge formatlarına bağlı değildir. Aspose.Words’tarafından desteklenen herhangi bir format, programatik olarak oluşturulan da dahil olmak üzere, aynı zamanda PDF’ye de dönüştürülebilir. Örneğin, tek sayfalık görüntüleri, örneğin JPEG, PNG, BMP, EMF veya WMF’yi, ayrıca TIFF ve GIF gibi çok sayfalı görüntüleri PDF’ye dönüştürebiliriz.

Aşağıdaki kod örneği, JPEG ve TIFF görüntülerini PDF olarak nasıl dönüştüreceğinizi gösterir:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
convertImageToPDF(getImagesDir() + "Logo.jpg", getArtifactsDir() + "BaseConversions.JpgToPdf.pdf");
convertImageToPDF(getImagesDir() + "Transparent background logo.png", getArtifactsDir() + "BaseConversions.PngToPdf.pdf");
convertImageToPDF(getImagesDir() + "Windows MetaFile.wmf", getArtifactsDir() + "BaseConversions.WmfToPdf.pdf");
convertImageToPDF(getImagesDir() + "Tagged Image File Format.tiff", getArtifactsDir() + "BaseConversions.TiffToPdf.pdf");
convertImageToPDF(getImagesDir() + "Graphics Interchange Format.gif", getArtifactsDir() + "BaseConversions.GifToPdf.pdf");
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
/**
* Converts an image to PDF using Aspose.Words for Java.
*
* @param inputFileName File name of input image file.
* @param outputFileName Output PDF file name.
* @throws Exception
*/
private void convertImageToPDF(String inputFileName, String outputFileName) throws Exception {
// Create Aspose.Words.Document and DocumentBuilder.
// The builder makes it simple to add content to the document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Load images from the disk using the appropriate reader.
// The file formats that can be loaded depends on the image readers available on the machine.
ImageInputStream iis = ImageIO.createImageInputStream(new File(inputFileName));
ImageReader reader = ImageIO.getImageReaders(iis).next();
reader.setInput(iis, false);
// Get the number of frames in the image.
int framesCount = reader.getNumImages(true);
// Loop through all frames.
for (int frameIdx = 0; frameIdx < framesCount; frameIdx++) {
// Insert a section break before each new page, in case of a multi-frame image.
if (frameIdx != 0)
builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
// Select active frame.
BufferedImage image = reader.read(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.getPageSetup();
ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));
ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));
// 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.getPageWidth(),
ps.getPageHeight(),
WrapType.NONE);
}
if (iis != null) {
iis.close();
reader.dispose();
}
doc.save(outputFileName);
}

Bu kodu çalıştırmak için projenize Aspose.Words, Java.awt.image ve javax.imageio sınıf paketlerine referans eklemeniz gerekir.

PDF Çıktısı Azaltma Boyutu

PDF’ye kaydetme yaparken, çıktıyı optimize etmek istediğinizi belirtebilirsiniz. Bunu yapmak için, OptimizeOutput bayrağını true’e ayarlamanız gerekir, ardından gereksiz iç içe geçmiş tuval ve boş tuval silinir ve aynı biçimlendirme ile komşusu olan glyph’ler birleştirilir.

Aşağıdaki kod örneği, çıktıyı nasıl optimize edeceğini göstermektedir:

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

Ayrıca bakınız