-3

我已经添加了所有必要的 jar 文件,包括itextpdf-5.1.0.jar但它仍然给出错误.. 请参考下面的代码。我在网上搜索了它,但它不起作用。

导入时出错

com.lowagie.text.Document;
com.lowagie.text.Paragraph;
com.lowagie.text.pdf.PdfWriter;

不明白出了什么问题。我添加了最新版本的iText jar文件,但没有得到解决方案。

请给我正确的解决方案或代码。请逐步提及。因为我是第一次这样做...

    导入 com.lowagie.text.Document;   
    导入 com.lowagie.text.Paragraph;    
    导入 com.lowagie.text.pdf.PdfWriter;    
    导入java.io.File;
    导入 java.io.FileOutputStream;    
    公共类 Doc2Pdf2 {    
        /**
         * 此方法用于将给定文件转换为 PDF 格式
         *
         * @param 输入文件
         * - 文件名和路径
         * @param 输出文件
         * - 要保存的 PDF 文件的名称和路径
         * @param isPictureFile
         */
        私人无效createPdf(字符串输入文件,字符串输出文件,
                布尔 isPictureFile) {
            文档 pdfDocument = new Document();
            字符串 pdfFilePath = outputFile;
            尝试 {
                文件输出流 文件输出流 = 新文件输出流(
                        pdf文件路径);
                PdfWriter 作家 = null;
                writer = PdfWriter.getInstance(pdfDocument, fileOutputStream);
                writer.open();
                pdfDocument.open();    
                if (isPictureFile) { pdfDocument.add(com.lowagie.text.Image.getInstance(inputFile));
                } 别的 {
                    文件文件 = 新文件(输入文件);
                    pdfDocument.add(新段落(org.apache.commons.io.FileUtils
                            .readFileToString(file)));
                }
                pdfDocument.close();
                writer.close();
            } 捕捉(异常异常){
                System.out.println("文档异常!" + exception);
            }
        }    
        公共静态无效主要(字符串参数[]){
            PDFConversion pdfConversion = new PDFConversion();
            pdfConversion.createPdf("C:/demo.doc", "C:/demopdf.pdf", true);    
        }    
    }

4

3 回答 3

3

您正在使用高于 5 的 iText 版本(带有 packages com.itextpdf),但您正在从com.lowagie仅存在于 iText 5 之前的 iText 版本中的包中导入类(是的,那是我的名字;我是 iText 的原作者) .因此,找不到您正在使用的类是正常的。您应该替换com.lowagiecom.itextpdf.

顺便说一句:您问题的标题与问题不匹配,因为 iText 不会将 Word 文档转换为 PDF。

于 2013-09-11T08:04:49.580 回答
0

您需要在 java 构建路径中添加最新的 jar。检查您的项目构建路径并确保 jar 存在于那里。进行干净的构建和干净的发布,它应该可以工作。如果没有,那么您甚至可以尝试直接将 jar 粘贴到您的项目部署位置(LIB 文件夹)。

于 2013-09-11T04:49:47.333 回答
0

您可以阅读有关如何将数据写入 pdf 的教程

生成 PDF

创建 pdf

创建 pdf 示例 hello 程序

并阅读 Apache Tika 文档文件是最好的:

看看在 java 中使用 apache tika 读取 doc 文件:

我正在从 doc 文件中读取内容并写入文本文件,但学习后您可以将数据写入 pdf 。

public class Tikaconvrt {

    public static void main(String [] args) throws IOException, SAXException, TikaException
    {
        Tikaconvrt tc=new Tikaconvrt();


        File Re_F = new File("/home/rahul/Documents/212/ANIR.docx");

        String F_Name=Re_F.getName();
        int eof=F_Name.lastIndexOf('.');
        F_Name=F_Name.substring(0, eof); 

        String s1 = tc.contentEx(Re_F);
        tc.files(s1, F_Name);
        }


    public String contentEx(File f) throws IOException, SAXException,
            TikaException {

        InputStream is = new FileInputStream(f);

        Parser ps = new AutoDetectParser();

        BodyContentHandler bch = new BodyContentHandler();
        Metadata metadata = new Metadata();
        ps.parse(is, bch, metadata, new ParseContext());

        return bch.toString();
    }

    public void files(String st,String fname) throws IOException {
        FileWriter fw = new FileWriter("/home/rahul/Documents/txt/"+fname+".txt",
                true);
        BufferedWriter bufferWritter = new BufferedWriter(fw);
        bufferWritter.write(st + "\n");
        bufferWritter.close();
    }

}
于 2013-09-11T05:50:48.500 回答