• <menu id="w2i4a"></menu>
  • logo Aspose.Words開發(fā)者指南

    文檔首頁(yè)>>Aspose.Words開發(fā)者指南>>Java版Word開發(fā)工具Aspose.Words基礎(chǔ)轉(zhuǎn)換指南:將Word文檔和圖像轉(zhuǎn)換為PDF

    Java版Word開發(fā)工具Aspose.Words基礎(chǔ)轉(zhuǎn)換指南:將Word文檔和圖像轉(zhuǎn)換為PDF


    Aspose.Words for Java是功能豐富的文字處理API,開發(fā)人員可以在自己的Java應(yīng)用程序中嵌入生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印Microsoft Word支持的所有格式的功能。它不依賴于Microsoft Word,但是它提供了Microsoft Word通過(guò)其API支持的功能。

    >>Aspose.Words for Java已經(jīng)更新至v20.7,有97項(xiàng)改進(jìn)和修復(fù),點(diǎn)擊下載體驗(yàn)


    輕松可靠地將文檔從一種格式轉(zhuǎn)換為另一種格式的能力是Aspose.Words的一項(xiàng)關(guān)鍵功能。PDF是一種最受歡迎的轉(zhuǎn)換格式,一種固定布局的格式,可以在各種平臺(tái)上呈現(xiàn)文檔時(shí)保留其原始外觀。Aspose.Words中使用“渲染”一詞來(lái)描述將文檔轉(zhuǎn)換為分頁(yè)或具有頁(yè)面概念的文件格式的過(guò)程。

    將Word文檔轉(zhuǎn)換為PDF

    從Word到PDF的轉(zhuǎn)換是一個(gè)相當(dāng)復(fù)雜的過(guò)程,需要幾個(gè)計(jì)算階段。Aspose.Words布局引擎模仿了Microsoft Word的頁(yè)面布局引擎的工作方式,使PDF輸出文檔看起來(lái)與Microsoft Word中所看到的盡可能接近。使用Aspose.Words,您可以通過(guò)編程方式將文檔從DOC或DOCX格式轉(zhuǎn)換為PDF,而無(wú)需使用Microsoft Office。本文介紹了如何執(zhí)行此轉(zhuǎn)換。

    請(qǐng)注意,文檔中的頁(yè)數(shù)會(huì)影響轉(zhuǎn)換時(shí)間。

    將DOC或DOCX轉(zhuǎn)換為PDF

    在Aspose.Words中從DOC或DOCX文檔格式轉(zhuǎn)換為PDF格式非常容易,只需兩行代碼即可完成:

    • 通過(guò)使用擴(kuò)展名指定文檔名稱,使用其構(gòu)造函數(shù)之一將文檔加載到 Document對(duì)象中。
    • 調(diào)用Document對(duì)象上的Document.Save方法 之一,并通過(guò)輸入擴(kuò)展名為“ .PDF”的文件名將所需的輸出格式指定為PDF。

    下面的代碼示例演示如何使用Save方法將文檔從DOCX轉(zhuǎn)換為PDF:

    // Load the document from disk.
    Document doc = new Document(dataDir + "Template.doc");
    
    // Save the document in PDF format.
    dataDir = dataDir + "output.pdf";
    doc.save(dataDir);

    請(qǐng)注意,使用相同的技術(shù),可以將任何流程布局格式的文檔轉(zhuǎn)換為PDF格式。

    轉(zhuǎn)換為各種PDF標(biāo)準(zhǔn)

    Aspose.Words提供 PdfCompliace 枚舉以支持將DOC或DOCX轉(zhuǎn)換為各種PDF格式標(biāo)準(zhǔn)(例如PDF 1.7,PDF 1.5等)。下面的代碼示例演示如何將文檔轉(zhuǎn)換為PDF使用1.7 PdfSaveOptions 與符合PDF17:

    // The path to the documents directory.
    Document originalDoc = new Document(dataDir + "Document.docx");
    
    // Provide PDFSaveOption compliance to PDF17
    // or just convert without SaveOptions
    PdfSaveOptions pso = new PdfSaveOptions();
    pso.setCompliance(PdfCompliance.PDF_17);
    
    originalDoc.save(dataDir + "Output.pdf", pso);

    將圖像轉(zhuǎn)換為PDF

    轉(zhuǎn)換為PDF不受Microsoft Word文檔格式的限制。Aspose.Words支持的任何格式,包括以編程方式創(chuàng)建的格式,都可以轉(zhuǎn)換為PDF。例如,我們可以將單頁(yè)圖像(例如JPEG,PNG,BMP,EMF或WMF)以及多頁(yè)圖像(例如TIFF和GIF)轉(zhuǎn)換為PDF。

    下面的代碼示例演示如何將JPEG和TIFF圖像轉(zhuǎn)換為PDF:

    //將指定格式的圖像轉(zhuǎn)換為PDF。
    ConvertImageToPDF(dataDir +  “ Test.jpg ”,dataDir +  “ TestJpg_out.pdf ”);
    ConvertImageToPDF(dataDir +  “ Test.tiff ”,dataDir +  “ TestTif_out.pdf ”);
    /**

    * Converts an image to PDF using Aspose.Words for Java.

    *

    * @param inputFileName File name of input image file.

    * @param outputFileName Output PDF file name.

    * @throws Exception

    */

    public static void ConvertImageToPDF(String inputFileName, String outputFileName) throws Exception {

    // Create Aspose.Words.Document and DocumentBuilder.

    // The builder makes it simple to add content to the document.

    Document doc = new Document();

    DocumentBuilder builder = new DocumentBuilder(doc);



    // Load images from the disk using the appropriate reader.

    // The file formats that can be loaded depends on the image readers available on the machine.

    ImageInputStream iis = ImageIO.createImageInputStream(new File(inputFileName));

    ImageReader reader = ImageIO.getImageReaders(iis).next();

    reader.setInput(iis, false);



    // Get the number of frames in the image.

    int framesCount = reader.getNumImages(true);



    // 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 image.

    if (frameIdx != 0)

    builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);



    // Select active frame.

    BufferedImage image = reader.read(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.getPageSetup();

    ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));

    ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));



    // 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.getPageWidth(),

    ps.getPageHeight(),

    WrapType.NONE);

    }



    if (iis != null) {

    iis.close();

    reader.dispose();

    }



    doc.save(outputFileName);

    }

    還想要更多嗎?您可以點(diǎn)擊閱讀
    【2020 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問(wèn)或需求,請(qǐng)隨時(shí)加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();