Konwertuj dokument na PDF
Możliwość łatwej i niezawodnej konwersji dokumentów z jednego formatu na inny jest kluczową cechą Aspose.Words. Jednym z najpopularniejszych formatów konwersji jest PDF – format o stałym układzie, który zachowuje oryginalny wygląd dokumentu podczas jego renderowania na różnych platformach. Termin “renderowanie” jest używany w Aspose.Words do opisania procesu konwersji dokumentu na format pliku, który jest podzielony na strony lub ma pojęcie stron.
Konwertuj dokument Word na PDF
Konwersja z Word na PDF to dość złożony proces, który wymaga kilku etapów obliczeń. Aspose.Words silnik układu naśladuje sposób działania silnika układu strony Microsoft Word, dzięki czemu PDF dokumenty wyjściowe wyglądają jak najbliżej tego, co można zobaczyć w Microsoft Word.
Za pomocą Aspose.Words możesz programowo przekonwertować dokument z formatu DOC lub DOCX na PDF bez użycia Microsoft pakietu Office. W tym artykule wyjaśniono, jak wykonać tę konwersję.
Konwersja DOCX lub DOC na PDF
Konwersja z formatu dokumentu DOC lub DOCX do formatu PDF w Aspose.Words jest bardzo łatwa i można ją wykonać za pomocą zaledwie dwóch linii kodu, które:
- Załaduj dokument do obiektu Document za pomocą jednego z jego konstruktorów, określając nazwę dokumentu z rozszerzeniem formatu.
- Wywołaj jedną z metod Document.Save w obiekcie Document i określ żądany format wyjściowy jako PDF, wprowadzając Nazwę pliku z".PDF" rozszerzenie.
Poniższy przykład kodu pokazuje, jak przekonwertować dokument z DOCX na PDF przy użyciu metody 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"); |
Możesz pobrać plik szablonu tego przykładu z Aspose.Words GitHub.
Czasami konieczne jest określenie dodatkowych opcji, które mogą wpłynąć na wynik zapisywania dokumentu jako PDF. Opcje te można określić za pomocą klasy PdfSaveOptions, zawierającej Właściwości określające sposób wyświetlania danych wyjściowych PDF.
Zauważ, że za pomocą tej samej techniki możesz przekonwertować dowolny dokument w formacie flow-layout na format PDF.
Konwertuj na różne standardy PDF
Aspose.Words zapewnia wyliczenie PdfCompliace w celu obsługi konwersji DOC lub DOCX na różne standardy formatu PDF (takie jakPDF 1.7, PDF 1.5, itp.).
Poniższy przykład kodu pokazuje, jak przekonwertować dokument na PDF 1.7 przy użyciu PdfSaveOptions z zgodnością z 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); |
Konwertuj obrazy na PDF
Konwersja do formatu PDF nie jest ograniczona formatami dokumentów Microsoft Word. Każdy format obsługiwany przez Aspose.Words, w tym utworzony programowo, można również przekonwertować na PDF. Na przykład możemy konwertować obrazy jednostronicowe, takie jak JPEG, PNG, BMP, EMF, lub WMF, a także obrazy wielostronicowe, takie jak TIFF i GIF, do PDF.
Poniższy przykład kodu pokazuje, jak przekonwertować obrazy JPEG i TIFF na 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); | |
} |
Aby ten kod działał, musisz dodać odwołania do Aspose.Words i System.Drawing
do swojego projektu.
Zobacz także
- Artykuł Rendering aby uzyskać więcej informacji na temat formatów fixed-page I flow-layout
- Artykuł Konwersja do formatu stałej strony aby uzyskać więcej informacji na temat układu strony
- Artykuł Określ opcje renderowania podczas konwersji na PDF aby uzyskać więcej informacji na temat korzystania z klasy
PdfSaveOptions