docx4j を使用して docx ファイルから pdf を生成できますが、画像と表を含む doc ファイルを pdf に変換する必要があります。 Java で doc を docx に変換する方法はありますか。または(ドキュメントからPDFへ)?
4 に答える
docx4j には、POI を使用して .doc を読み取る org.docx4j.convert.in.Doc が含まれていますが、これは概念実証であり、本番環境に対応したコードではありません。最後に確認したところ、バイナリ .doc の POI の HWPF 解析には制限がありました。
mqchen のコメントに加えて、LibreOffice または OpenOffice を使用して doc を docx に変換できます。ただし、LibreOffice または OpenOffice を使用する場合は、それを使用して .doc と .docx の両方を直接 PDF に変換することもできます。グーグル「ジョドコンバーター」。
POI 単体テストを切り取り、Word 文書からテキストを抽出するためにこれを思いつきました。
public String getText(String document) {
try {
ZipInputStream is = new ZipInputStream(new FileInputStream(document));
try {
is.getNextEntry();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
IOUtils.copy(is, baos);
} finally {
baos.close();
}
byte[] byteArray = baos.toByteArray();
ByteArrayInputStream bais = new ByteArrayInputStream(byteArray);
HWPFDocument doc = new HWPFDocument(bais);
extractor = new WordExtractor(doc);
extractor.getText();
} finally {
is.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
完全にソートされていない場合でも、正しい方向に向けられることを願っています。
これには jWordConvert を使用できます。
jWordConvert は、Word ドキュメントをネイティブに読み取ってレンダリングし、PDF に変換したり、画像に変換したり、ドキュメントを自動的に印刷したりできる Java ライブラリです。
詳細は次のリンクにあり ます。 http://www.qoppa.com/wordconvert/