开发者

How to write large amount of text using POI hwpfdocument in a .doc file in java

开发者 https://www.devze.com 2023-03-08 14:02 出处:网络
I am new to POI API and therefore, whenever I am using the HWPFDocument class to write down text in a .doc file created by the HWPF Document, the resulting doc file is having only a single letter and

I am new to POI API and therefore, whenever I am using the HWPFDocument class to write down text in a .doc file created by the HWPF Document, the resulting doc file is having only a single letter and not the entire text, I wrote.

So please give the answer of how can I add more text to it.

This is the code:

/**
             *  Create a POIFSFileSystem from an InputStream.
             *  Test.doc is an empty doc with no contents
             */
            POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("test.doc"));

          开发者_StackOverflow  /**
             * Horrible word Document Format
             */
            HWPFDocument hwpfDocument = new HWPFDocument(fs);
            /**
             * range is used for getting the range of the document except header and footer
             */

            Range range = hwpfDocument.getRange();
            range.numParagraphs();
            /**
             * creating Paragraph
             */
            /**
             *  Inserts a paragraph into the end of this range.
             *  ParagraphProperties -> for creating Paragraph, index of the paragraph
             */
            /*Paragraph paragraph1 = range.insertBefore(new ParagraphProperties(), 0);

            paragraph1.setJustification((byte) 0); // 0-left, 1-center, 2-right, 3-left and right*/
            CharacterRun characterRun1 =  range.insertBefore("Document");
            /**
             * setting the font size
             */
            characterRun1.setFontSize(2 * 12); // takes as an argument half points
            /**
             * making Text Bold Italic
             */
            characterRun1.setBold(true);
            characterRun1.setItalic(true);
            characterRun1.setColor(111);
            characterRun1.setData(true);
            //characterRun1.replaceWith("Document");

            hwpfDocument.write(new FileOutputStream("hpwf-create-doc.doc", true));


If you can, switch from using HWPFDocument to XWPFDocument (generating a .docx instead of a .doc). The .docx format is much saner under the hood (it's XML based rather than binary), so POI generally does a much better job with it.

Otherwise, try using a simpler template document. The word file format can be very picky about all sorts of bits, and it's likely that you've hit a case where POI isn't aware of needing to update something in your file, and word then silently objects.

0

精彩评论

暂无评论...
验证码 换一张
取 消