gpt4 book ai didi

Java:使用 apache POI 如何将 ms word 文件转换为 pdf?

转载 作者:太空狗 更新时间:2023-10-29 22:45:23 26 4
gpt4 key购买 nike

如何使用apache POIms word文件转换成pdf

我正在使用以下代码,但它无法正常工作并出现错误我想我导入了错误的类?

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;

import org.apache.poi.hslf.record.Document;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.hwpf.usermodel.Paragraph;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;


public class TestCon {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

POIFSFileSystem fs = null;
Document document = new Document();

try {
System.out.println("Starting the test");
fs = new POIFSFileSystem(new FileInputStream("/document/test2.doc"));

HWPFDocument doc = new HWPFDocument(fs);
WordExtractor we = new WordExtractor(doc);

OutputStream file = new FileOutputStream(new File("/document/test.pdf"));

PdfWriter writer = PdfWriter.getInstance(document, file);

Range range = doc.getRange();
document.open();
writer.setPageEmpty(true);
document.newPage();
writer.setPageEmpty(true);

String[] paragraphs = we.getParagraphText();
for (int i = 0; i < paragraphs.length; i++) {

org.apache.poi.hwpf.usermodel.Paragraph pr = range.getParagraph(i);
// CharacterRun run = pr.getCharacterRun(i);
// run.setBold(true);
// run.setCapitalized(true);
// run.setItalic(true);
paragraphs[i] = paragraphs[i].replaceAll("\\cM?\r?\n", "");
System.out.println("Length:" + paragraphs[i].length());
System.out.println("Paragraph" + i + ": " + paragraphs[i].toString());

// add the paragraph to the document
document.add(new Paragraph(paragraphs[i]));
}

System.out.println("Document testing completed");
} catch (Exception e) {
System.out.println("Exception during test");
e.printStackTrace();
} finally {
// close the document
document.close();
}
}
}

最佳答案

解决了

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;

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


import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;

import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;


public class TestCon {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

POIFSFileSystem fs = null;
Document document = new Document();

try {
System.out.println("Starting the test");
fs = new POIFSFileSystem(new FileInputStream("D:/Resume.doc"));

HWPFDocument doc = new HWPFDocument(fs);
WordExtractor we = new WordExtractor(doc);

OutputStream file = new FileOutputStream(new File("D:/test.pdf"));

PdfWriter writer = PdfWriter.getInstance(document, file);

Range range = doc.getRange();
document.open();
writer.setPageEmpty(true);
document.newPage();
writer.setPageEmpty(true);

String[] paragraphs = we.getParagraphText();
for (int i = 0; i < paragraphs.length; i++) {

org.apache.poi.hwpf.usermodel.Paragraph pr = range.getParagraph(i);
// CharacterRun run = pr.getCharacterRun(i);
// run.setBold(true);
// run.setCapitalized(true);
// run.setItalic(true);
paragraphs[i] = paragraphs[i].replaceAll("\\cM?\r?\n", "");
System.out.println("Length:" + paragraphs[i].length());
System.out.println("Paragraph" + i + ": " + paragraphs[i].toString());

// add the paragraph to the document
document.add(new Paragraph(paragraphs[i]));
}

System.out.println("Document testing completed");
} catch (Exception e) {
System.out.println("Exception during test");
e.printStackTrace();
} finally {
// close the document
document.close();
}
}
}

关于Java:使用 apache POI 如何将 ms word 文件转换为 pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6201736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com