Перетворення документа в PDF
Уміння легко і надійно конвертувати документи з одного формату в інший є ключовою особливістю Aspose.Wordsй Одним з найпопулярніших форматів для конвертації є PDF – формат фіксованого розміщення, який зберігає оригінальний зовнішній вигляд документа під час його рендерингу на різних платформах. Термін “відправлення” використовується в Aspose.Words описати процес перетворення документа в формат файлу, який вагінальний або має концепцію сторінок.
Перетворення документа Word в PDF
Перетворення з Word в PDF є досить складним процесом, який вимагає декількох етапів обчислення. Aspose.Words верстка двигуна імітує спосіб Microsoft Word’s page верстка двигуна працює, що робить PDF вихідні документи максимально наближені до того, що ви можете побачити в Microsoft Wordй
З Aspose.Words Ви можете автоматично конвертувати документ у формати Word, такі як 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-.NET.git. | |
Document doc = new Document(MyDir + "Document.docx"); | |
doc.Save(ArtifactsDir + "BaseConversions.DocxToPdf.pdf"); |
Ви можете завантажити файл шаблону цього прикладу з Aspose.Words GitHubй
Іноді необхідно вказати додаткові параметри, які можуть вплинути на результат збереження документа як PDF. Ці параметри можна вказати за допомогою використання PdfSaveOptions клас, що містить властивості, які визначають, як буде показано вихід PDF.
Зверніть увагу, що з такою ж технікою ви можете конвертувати будь-який документ форматування потоку у формат PDF.
Перетворення в різні PDF Стандарти
Aspose.Words забезпечує ПдфКомпляцзаохочення для підтримки перетворення 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-.NET.git. | |
Document doc = new Document(MyDir + "Rendering.docx"); | |
PdfSaveOptions saveOptions = new PdfSaveOptions { Compliance = PdfCompliance.Pdf17 }; | |
doc.Save(ArtifactsDir + "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-.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"); |
// 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); | |
} |
Щоб зробити цю роботу коду, потрібно додати посилання на Aspose.Words і System.Drawing
до вашого проекту.
Зменшення PDF Розмір виходу
При збереженні в PDF ви можете вказати, чи хочете ви оптимізувати вихід. Для цього потрібно встановити OptimizeOutput прапорець true, і потім будуть видалені почервоніння, сусід glyphs з тим самим форматуванням буде конкатенований.
Приклад наступного коду показує, як оптимізувати вихід:
// 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); |
Дивитися ще
-
Статті Рендеринг для отримання більш детальної інформації про формати фіксованої сторінки та потоку
-
Статті Перетворення у формат Фіксованого сторінки для отримання додаткової інформації на макеті сторінки
-
Статті Вказати параметри рендерингу при конвертації в PDF для отримання додаткової інформації про використання
PdfSaveOptions
клас -
Статті Вивчайте особливості перетворення в PDF/A та PDF/UA опис якого PDF стандарт і відповідне ISO Підтримка стандартів PDF Aspose.Words
-
Статті Який стандарт PDF краще вибрати визначити, які стандарти PDF мають сенс для яких випадків
-
Статті Робота з PDF/A або PDF/UA описує вимоги до вмісту документа у форматі PDF/A та PDF/UA – в основному вимоги до структури та шрифтів
-
Статті Попередження про доступність при збереженні PDF/A та PDF/UA описує, які вимоги до вмісту PDF/A та PDF/UA