1

次のコード スニペットを使用して、次のコードを使用して PDF ファイルを MS Word ドキュメントに変換しています。

import java.io.FileOutputStream;

import org.apache.poi.xwpf.usermodel.BreakType;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfReaderContentParser;
import com.itextpdf.text.pdf.parser.SimpleTextExtractionStrategy;
import com.itextpdf.text.pdf.parser.TextExtractionStrategy;

public class PdfToDoc {

    /**
     * @param args
     * @throws Exception 
     */
    public static void main(String[] args) throws Exception {
        //Create the word document
        XWPFDocument doc = new XWPFDocument();
        // Open the pdf file
        String pdf = "D:\\Payment.pdf";
        PdfReader reader = new PdfReader(pdf);
        PdfReaderContentParser parser = new PdfReaderContentParser(reader);
        // Read the PDF page by page
        for (int i = 1; i <= reader.getNumberOfPages(); i++) {
            TextExtractionStrategy strategy = parser.processContent(i, new SimpleTextExtractionStrategy());
            // Extract the text
            String text=strategy.getResultantText();
            // Create a new paragraph in the word document, adding the extracted text
            XWPFParagraph p = doc.createParagraph();
            XWPFRun run = p.createRun();
            run.setText(text);
            // Adding a page break
            run.addBreak(BreakType.PAGE);
        }
        // Write the word document
        FileOutputStream out = new FileOutputStream("D:\\myfile.doc");
        doc.write(out);
        // Close all open files
        out.close();
        reader.close();
    }
}

ただし、結果のドキュメントではすべての書式設定が失われます。元のテキストの書式を保持する方法を誰かに教えてもらえますか?

4

0 に答える 0