スプレッドシート ドキュメント用のオープンソース Java ライブラリ
Open Source API を介して Java アプリケーションで Excel ファイルを変換します。
Documents4J は、Microsoft Excel を他のファイル形式に変換するオープンソースの Java API です。これは、指定されたファイルの目的のターゲット形式への変換を理解する任意のネイティブ アプリケーションに変換を委任することによって実現されます。 API は、ローカルとリモートの 2 種類の実装を提供します。ローカル バージョンのドキュメントを使用すると、要求されたファイル形式を変換するケーブルと同じマシンで変換できます。 Remote API を使用すると、REST-API を使用してドキュメントをサーバーに送信し、サーバーは要求された変換を実行します。
Documents4J は透過的で使いやすいです。開発者は API のローカル バージョンを使用して作業できますが、開発者が本番環境でアプリを公開するときに、開発とリモート バージョンを使用できます。
Documents4J入門
まず、ローカル マシンに documents4j のコピーを作成する必要があります。 git を使用するか、GitHub で直接クローンを作成して、documents4j のリポジトリを単純にクローンします。リポジトリのクローンが作成されたら、Mave を使用してプロジェクトをビルドできます。
GitHub 経由で Documents4J をインストールする
git clone https://github.com/documents4j/documents4j.git
cd documents4j
mvn package
Java を使用して Microsoft Excel を変換する
Documents4J は、ドキュメント変換を実行するための流暢な API です。 API は、バッキング コンバーターの実装の詳細を公開しません。ドキュメント変換を実行するために、API は IConverter インターフェイスを提供します。このインターフェイスを使用して、Microsoft Excel ファイル形式を目的のファイル形式に変換できます。サポートされている変換ファイル形式を調べるには、ソース ファイル形式とターゲット ファイル形式を返す getSupportedConversion() メソッドをクエリします。
Excelファイルを他のファイル形式に変換 Java
Const WdExportFormatPDF = 17
Const MagicFormatPDF = 999
Dim arguments
Set arguments = WScript.Arguments
' Transforms a file using MS Excel into the given format.
Function ConvertFile( inputFile, outputFile, formatEnumeration )
Dim fileSystemObject
Dim excelApplication
Dim excelDocument
' Get the running instance of MS Excel. If Excel is not running, exit the conversion.
On Error Resume Next
Set excelApplication = GetObject(, "Excel.Application")
If Err <> 0 Then
WScript.Quit -6
End If
On Error GoTo 0
' Find the source file on the file system.
Set fileSystemObject = CreateObject("Scripting.FileSystemObject")
inputFile = fileSystemObject.GetAbsolutePathName(inputFile)
' Convert the source file only if it exists.
If fileSystemObject.FileExists(inputFile) Then
' Attempt to open the source document.
On Error Resume Next
Set excelDocument = excelApplication.Workbooks.Open(inputFile, , True)
If Err <> 0 Then
WScript.Quit -2
End If
On Error GoTo 0
On Error Resume Next
If formatEnumeration = MagicFormatPDF Then
excelDocument.ExportAsFixedFormat xlTypePDF, outputFile
Else
excelDocument.SaveAs outputFile, formatEnumeration
End If
' Close the source document.
excelDocument.Close False
If Err <> 0 Then
WScript.Quit -3
End If
On Error GoTo 0
' Signal that the conversion was successful.
WScript.Quit 2
Else
' Files does not exist, could not convert
WScript.Quit -4
End If
End Function
' Execute the script.
Call ConvertFile( WScript.Arguments.Unnamed.Item(0), WScript.Arguments.Unnamed.Item(1), CInt(WScript.Arguments.Unnamed.Item(2)) )
事務所文書を Java から PDF へ変換
オープン ソースの Documents4J ライブラリには、Word、Excel、PowerPoint ファイルなどの Microsoft Office ドキュメントを PDF や画像などの他のサポート ファイル形式に変換するための重要な機能がいくつか含まれています。次の例は、ソフトウェア プログラマーが Microsoft Word Docx ファイルをいかに簡単に読み込んで変換できるかを示していますほんの数行のコードで PDF ファイルに変換できます。
オフィス Docx ファイルから PDF へ Java ライブラリ
public class NewMain {
/**
* @param args the command line arguments
* @throws java.io.FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException, IOException, InterruptedException, ExecutionException {
ByteArrayOutputStream bo = new ByteArrayOutputStream();
InputStream in = new BufferedInputStream(new FileInputStream(System.getProperty("user.dir") + File.separator +"out.rtf"));
IConverter converter = LocalConverter.builder()
.baseFolder(new File(System.getProperty("user.dir") + File.separator +"test"))
.workerPool(20, 25, 2, TimeUnit.SECONDS)
.processTimeout(5, TimeUnit.SECONDS)
.build();
Future conversion = converter
.convert(in).as(DocumentType.RTF)
.to(bo).as(DocumentType.PDF)
.prioritizeWith(1000) // optional
.schedule();
conversion.get();
try (OutputStream outputStream = new FileOutputStream("out.pdf")) {
bo.writeTo(outputStream);
}
in.close();
bo.close();
}
}