Конвертиране на документ в PDF

Възможността лесно и надеждно да конвертирате документи от един формат в друг е ключова характеристика на Aspose.Words. Един от най-популярните формати за конвертиране е PDF гол формат, който запазва първоначалния вид на документ по време на представянето му на различни платформи. Терминът “намаляване” се използва в Aspose.Words да опише процеса на преобразуване на документ във формат на файл, който е въплътен или има концепцията за страници.

Конвертиране на документ с думи в PDF

Преобразуването от Word на PDF е доста сложен процес, който изисква няколко етапа на изчисление. Aspose.Words монтаж на двигателя имитира начина, по който Microsoft Word по-близо до това, което можете да видите Microsoft Word.

С Aspose.Words Можете програмно да конвертирате документ от формат DOC или DOCX в PDF без да използвате Microsoft Офисът. Тази статия обяснява как да се извърши това преобразуване.

Конвертиране на DOCX или DOC в PDF

Преобразуване от DOC или DOCX формат на документ в PDF формат в Aspose.Words е много лесно и може да се постигне само с два реда код, който:

  1. Зареждане на документа в a Document обект с помощта на един от неговите конструктори, като се посочва името на документа с неговото разширение формат.
  2. Призовете един от Document.Save методи за Document обект и зададете желания формат на изхода като PDF чрез въвеждане на име на файл с разширението PDF.

Следният пример за код показва как да конвертирате документ от DOCX в PDF с помощта на Save метод:

// 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");

Можете да изтеглите шаблонния файл на този пример от Aspose.Words GitHub.

Конвертиране в различен PDF Стандарти

Aspose.Words осигурява PdfComplaceизброяване в подкрепа на преобразуването на DOC или DOCX в различни PDF форматови стандарти (като PDF 1.7, PDF 1.5 и др.).

Следният пример за код показва как да конвертирате документ в PDF 1.7 с помощта на PdfSaveOptions със съответствие с PDF17:

// 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);

Конвертиране на изображения в PDF

Преобразуването в PDF не се ограничава от Microsoft Word формат на документите. Всеки формат, поддържан от Aspose.Words, включително програмично създаден, може да бъде преобразуван в PDF. Например, можем да конвертираме изображения на една страница, като JPEG, PNG, BMP, EMF или WMF, както и изображения на много страници, като TIFF и GIF, в PDF.

Следният пример за код показва как да конвертирате JPEG и TIFF изображения в PDF:

// 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);
}

За да проработи този код, трябва да добавите препратки към Aspose.Words, Java.awt.image, and javax. imagio клас пакети за вашия проект.

Намаляване на PDF Размер на изхода

При запис в PDF можете да посочите дали искате да оптимизирате изхода. За да направите това, трябва да настроите OptimizeOutput флаг към true, и тогава излишните уплътнени платна и празни платна ще бъдат премахнати, съседе. glyphs със същото форматиране ще бъде конкатенирано.

Следният пример за код показва как да оптимизирате изхода:

// 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);

Вижте също