Преобразовать документ в PDF
Способность легко и надежно конвертировать документы из одного формата в другой является ключевой особенностью Aspose.Words. Одним из самых популярных форматов для конвертации является PDF – формат фиксированного выкладки, который сохраняет первоначальный вид документа при его рендеринге на различных платформах. Термин “рендеринг” используется в Aspose.Words Описывать процесс преобразования документа в формат файла, который заложен или имеет концепцию страниц.
Преобразовать документ Word в PDF
Преобразование из Word в PDF - довольно сложный процесс, требующий нескольких этапов вычисления. Aspose.Words Двигатель макета имитирует способ Microsoft Wordдвижок макета страницы работает, делая документы вывода PDF как можно ближе к тому, что вы можете видеть в Microsoft Word.
С Aspose.Words Вы можете программно конвертировать документ из форматов Word, таких как DOC или DOCX, в PDF без использования. Microsoft Офис. В этой статье объясняется, как выполнить это преобразование.
Преобразование DOCX или DOC в PDF
Преобразование из формата документа DOC или DOCX в формат PDF Aspose.Words Это очень просто и может быть выполнено только с двумя строками кода, которые:
- Загрузите свой документ в Document объект, использующий одного из своих конструкторов путем указания названия документа с расширением его формата.
- Призовите одного из 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-.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 обеспечивает 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-.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