Конвертиране на документ в PDF
Възможността за лесно и надеждно конвертиране на документи от един формат в друг е ключова характеристика на Aspose.Words. Един от най – популярните формати за конвертиране е PDF-формат с фиксирано оформление, който запазва оригиналния вид на документ по време на рендирането му на различни платформи. Терминът" рендиране " се използва в Aspose.Words, за да опише процеса на конвертиране на документ във файлов формат, който е номериран или има концепцията за страници.
Конвертиране на документ Word в PDF
Превръщането от Word в PDF е доста сложен процес, който изисква няколко етапа на изчисление. Aspose.Words Устройството за оформление имитира начина, по който работи устройството за оформление на страници Microsoft Word, правейки PDF изходните документи да изглеждат възможно най-близо до това, което можете да видите в Microsoft Word.
С Aspose.Words можете програмно да конвертирате документ от 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-C.git. | |
auto doc = MakeObject<Document>(MyDir + u"Document.docx"); | |
doc->Save(ArtifactsDir + u"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-C.git. | |
auto doc = MakeObject<Document>(MyDir + u"Rendering.docx"); | |
auto saveOptions = MakeObject<PdfSaveOptions>(); | |
saveOptions->set_Compliance(PdfCompliance::Pdf17); | |
doc->Save(ArtifactsDir + u"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-C.git. | |
ConvertImageToPdf(ImagesDir + u"Logo.jpg", ArtifactsDir + u"BaseConversions.JpgToPdf.pdf"); | |
ConvertImageToPdf(ImagesDir + u"Transparent background logo.png", ArtifactsDir + u"BaseConversions.PngToPdf.pdf"); | |
ConvertImageToPdf(ImagesDir + u"Windows MetaFile.wmf", ArtifactsDir + u"BaseConversions.WmfToPdf.pdf"); | |
ConvertImageToPdf(ImagesDir + u"Tagged Image File Format.tiff", ArtifactsDir + u"BaseConversions.TiffToPdf.pdf"); | |
ConvertImageToPdf(ImagesDir + u"Graphics Interchange Format.gif", ArtifactsDir + u"BaseConversions.GifToPdf.pdf"); |
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.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> | |
void ConvertImageToPdf(String inputFileName, String outputFileName) | |
{ | |
std::cout << (String(u"Converting ") + inputFileName + u" to PDF ....") << std::endl; | |
auto doc = MakeObject<Document>(); | |
auto builder = MakeObject<DocumentBuilder>(doc); | |
// Read the image from file, ensure it is disposed. | |
{ | |
SharedPtr<System::Drawing::Image> image = System::Drawing::Image::FromFile(inputFileName); | |
// Insert a section break before each new page, in case of a multi-frame TIFF. | |
builder->InsertBreak(BreakType::SectionBreakNewPage); | |
// 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. | |
SharedPtr<PageSetup> ps = builder->get_PageSetup(); | |
ps->set_PageWidth(ConvertUtil::PixelToPoint(image->get_Width(), image->get_HorizontalResolution())); | |
ps->set_PageHeight(ConvertUtil::PixelToPoint(image->get_Height(), image->get_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->get_PageWidth(), ps->get_PageHeight(), WrapType::None); | |
} | |
doc->Save(outputFileName); | |
} |
За да работи този код, трябва да добавите препратки към Aspose.Words и System.Drawing
към вашия проект.
Вижте Също
- Статията Рендериране за повече информация относно форматите на фиксираната страница и потока
- Статията Конвертиране във формат на фиксирана страница за повече информация относно оформлението на страницата
- Статията Посочете опциите за рендиране при конвертиране в PDF за повече информация относно употребата на
PdfSaveOptions
клас