BuildVuでOfficeドキュメントを変換する
BuildVuはPDFファイルのみをHTMLまたはSVGに変換できますが、LibreOffice を利用してOfficeドキュメントを事前にPDFに変換することで、Word、PowerPoint、Excelなどのファイルも変換することが可能です。
これを行うにはLibreOfficeをインストールする必要があります。Linux上でLibreOfficeを実行している場合、Linux上で利用できないフォントを使用しているOfficeドキュメントが正しく変換されないことがあります。欠落しているフォントの代替として使用される可能性を高めるため、Google Noto Fonts をインストールすることをお勧めします。
BuildVuはコマンドラインまたはJavaクラスから、LibreOfficeを使用してOfficeドキュメントを変換できます。
LibreOfficeをインストールしたら、LibreOffice実行ファイルへの絶対パスをシステムプロパティとして渡すだけで、コマンドラインからOfficeドキュメントの変換が可能になります。
java -Dorg.jpedal.pdf2html.libreOfficeExecutablePath="/path/to/soffice" -jar buildvu.jar /inputDir/ /outputDir/
Officeドキュメントと同じファイル名のPDFファイルがすでに存在する場合、変換は失敗します。これは次のシステムプロパティを追加することで上書きできます: -Dorg.jpedal.pdf2html.allowLibreOfficeOverwrite=true
LibreOfficeをインストールした後、DocumentToPDFConverterクラスを使用してLibreOfficeを呼び出し、Officeドキュメントを前処理することができます。
if (DocumentToPDFConverter.hasConvertibleFileType(document)) {
try {
DocumentToPDFConverter.convert(document, libreOfficeExecutablePath);
// Code to convert generated PDF file to HTML5 goes here
} catch (IOException e) {
// Problem occurred - see Javadoc for reasons*
} catch (InterruptedException e) {
// Process was interrupted
}
} else {
// File type not supported
}
Javadocを読む ことをお勧めします。DocumentToPDFConverterクラスのソースコードもオンラインで閲覧 できます。
