Aspose.Words for .NET使用教程(八):将word和图像转换为PDF

Aspose.Words无需Microsoft Word也可在任何平台上满足Word文档的一切操作需求。本文将与大家分享如何将word和图像转换为PDF


将Microsoft Word文档转换为PDF


要将Microsoft Word文档转换为PDF,只需调用Document.Save方法并将文件的扩展名指定为“.PDF”。下面的代码示例使用默认选项将整个文档从DOC转换为PDF。你可以从此处下载此示例的模板文件。

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_QuickStart();

// Load the document from disk.
Document doc = new Document(dataDir + "Template.doc");

dataDir = dataDir + "Template_out.pdf";

// Save the document in PDF format.
doc.Save(dataDir);


将图像档转换为PDF


这里介绍如何使用Aspose.Words从图像创建PDF文档。虽然将图像转换为PDF不是Aspose.Words的主要特征,但此示例显示了Aspose.Words十分简洁易用。要使此代码有效,你需要将Aspose.Words和System.Drawing的参考文件添加到项目中。下面的代码允许转换单帧图像,如JPEG,PNG,BMP,EMF或WMF,以及多帧TIF图像和GIF到PDF。

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();

ConvertImageToPdf(dataDir + "Test.jpg", dataDir + "TestJpg_out.pdf");
ConvertImageToPdf(dataDir + "Test.png", dataDir + "TestPng_out.pdf");
ConvertImageToPdf(dataDir + "Test.wmf", dataDir + "TestWmf_out.pdf");
ConvertImageToPdf(dataDir + "Test.tiff", dataDir + "TestTif_out.pdf");
ConvertImageToPdf(dataDir + "Test.gif", dataDir + "TestGif_out.pdf");


ConvertImageToPdf方法

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// Create Document and DocumentBuilder. 
// The builder makes it simple to add content to the document.
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]);

    // Get the number of frames in the image.
    int framesCount = image.GetFrameCount(dimension);

    // 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 TIFF.
        if (frameIdx != 0)
            builder.InsertBreak(BreakType.SectionBreakNewPage);

        // Select active frame.
        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);
    }
}

// Save the document to PDF.
doc.Save(outputFileName);


下一篇文章将给大家带来其他格式的文档转换方法,敬请期待~

为你推荐:Aspose专题 - Aspose最新资源合集

下载Aspose.Words for .NET最新试用版


猜你喜欢

转载自blog.51cto.com/14084744/2352773