当前位置: 首页 > 工具软件 > Aspose.Pdf > 使用案例 >

Aspose.PDF for Java系列5-转化PDF文档为Word

常波鸿
2023-12-01

Aspose.PDF for Java系列5-转化PDF文档

DocFormat枚举类提供了DOCX格式的文件输出格式选项。如果你想要将PDF转化为DOCX格式,请参考本文下面的内容。

PDF转化为DOCX

步骤:

  1. 创建一个加载了PDF文档的Document对象。
  2. 使用Document.save()方法转化成SaveFormat.DocX格式。

具体代码如下:

    public static void ConvertPDFtoWord_DOCX_Format() {
        // Open the source PDF document
        Document pdfDocument = new Document(_dataDir + "PDFToDOC.pdf");
        // Save the resultant DOC file
        pdfDocument.save(_dataDir + "saveOptionsOutput_out.doc", SaveFormat.DocX);
    }

DocSaveOptions类有个Format属性,它提供了文档格式(DOC、DOCX)的功能。要将PDF转化成为DOCX格式,需要设置DocSaveOptions为DocFormat.DOCX.

具体代码如下:

    public static void ConvertPDFtoWord_Advanced_DOCX_Format()
    {        
        // Open the source PDF document
        Document pdfDocument = new Document(_dataDir + "PDFToDOC.pdf");
    
        // Instantiate DocSaveOptions object
        DocSaveOptions saveOptions = new DocSaveOptions();
        // Specify the output format as DOCX
        saveOptions.setFormat(DocSaveOptions.DocFormat.DocX);
        // Set other DocSaveOptions params
        // ....
        
        // Save document in docx format
        pdfDocument.save("ConvertToDOCX_out.docx", saveOptions);
    }

PDF转化为DOC

步骤:

  1. 创建一个加载了PDF文档的Document对象。
  2. 使用Document.save()方法转化成SaveFormat.Doc格式。

代码如下:

    public static void main(String[] args) throws IOException {
        ConvertPDFtoWord();
        ConvertPDFtoWordDocAdvanced();
    }
    
    public static void ConvertPDFtoWord() {
        // Open the source PDF document
        Document pdfDocument = new Document(_dataDir + "PDFToDOC.pdf");
        // Save the file into MS document format
        pdfDocument.save(_dataDir + "PDFToDOC_out.doc", SaveFormat.Doc);
    }

使用DocSaveOptions进行转化

    public static void ConvertPDFtoWordDocAdvanced()
    {
        Path pdfFile = Paths.get(_dataDir.toString(), "PDF-to-DOC.pdf");
        Path docFile = Paths.get(_dataDir.toString(), "PDF-to-DOC.doc");
        Document pdfDocument = new Document(pdfFile.toString());        
        DocSaveOptions saveOptions = new DocSaveOptions();
        
        // Specify the output format as DOC
        saveOptions.setFormat(DocSaveOptions.DocFormat.Doc);
        // Set the recognition mode as Flow
        saveOptions.setMode(DocSaveOptions.RecognitionMode.Flow);
        
        // Set the Horizontal proximity as 2.5
        saveOptions.setRelativeHorizontalProximity(2.5f);
        
        // Enable the value to recognize bullets during conversion process
        saveOptions.setRecognizeBullets(true);
        pdfDocument.save(docFile.toString(), saveOptions);
    }

关于DocSaveOptions类

DocSaveOptions类提供了许多属性,方便设置将PDF转化为DOC格式的过程。可以通过设置Mode属性来指定PDF内容识别模式,Mode的取值来自RecognitionMode枚举类。

  • Textbox mode是最快速的,但是转化完成的DOC文档编辑性较差。原本的PDF文档中每个都被视为文本块进行了转化。这样可以最大程序保持原本PDF文档的样子,输出的文档高度相似,唯一不好的就是编辑起来比较麻烦。
  • Flow mode模式引擎执行分组和多级分析,尽量还原PDF文档,但是易于编辑。
  • RelativeHorizontalProximity属性可用于控制文本元素之间的相对接近度(字间距、字体大小)。指定字体大小的相似百分比。
  • RecognitionBullets用来设置转化过程的快速识别。
 类似资料: