Перетворення документа в PDF
Уміння легко і надійно конвертувати документи з одного формату в інший є ключовою особливістю Aspose.Wordsй Одним з найпопулярніших форматів для конвертації є PDF – формат фіксованого розміщення, який зберігає оригінальний зовнішній вигляд документа під час його рендерингу на різних платформах. Термін “відправлення” використовується в Aspose.Words описати процес перетворення документа в формат файлу, який вагінальний або має концепцію сторінок.
Перетворення документа Word в PDF
Перетворення з Word в PDF є досить складним процесом, який вимагає декількох етапів обчислення. Aspose.Words верстка двигуна імітує спосіб Microsoft Word’s page верстка двигуна працює, що робить PDF вихідні документи максимально наближені до того, що ви можете побачити в Microsoft Wordй
З Aspose.Words Ви можете автоматично конвертувати документ з формату DOC або DOCX у PDF без використання Microsoft Офіс. Ця стаття пояснює, як виконати цю конвертацію.
Перетворення DOCX або DOC в PDF
Перетворення з документа DOC або DOCX у формат PDF у форматі PDF Aspose.Words дуже легко і може бути здійснений лише двома лініями коду, які:
1,1 км Завантаження документа в Document об’єкт, використовуючи один з його конструкторів, вказавши назву документа з його розширенням формату. 1,1 км Покликати одну з Document.Save методи на Document об’єкт і вказати бажаний формат виведення як PDF, вказавши назву файлу з розширенням “.PDF”.
Приклад коду показує, як перетворити документ з DOCX в PDF за допомогою DOCX 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. Ці параметри можна вказати за допомогою використання PdfSaveOptions клас, що містить властивості, які визначають, як буде показано вихід PDF.
Зверніть увагу, що з такою ж технікою ви можете конвертувати будь-який документ форматування потоку у формат PDF.
Перетворення в різні PDF Стандарти
Aspose.Words забезпечує PdfCompliaceзаохочення для підтримки перетворення 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 та javax. Пакети зображень для вашого проекту.
Зменшення 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); |
Дивитися ще
- Статті Рендеринг для отримання додаткової інформації про формати фіксованої сторінки та потокового передавання
- Статті Перетворення у формат Фіксованого сторінки для отримання додаткової інформації на макеті сторінки
- Статті Казати казати казати казати для отримання додаткової інформації про використання
PdfSaveOptions
клас