1. Produk
  2.   Hamparan
  3.   Java
  4.   Documents4J
 
  

Pustaka Java Sumber Terbuka untuk Dokumen Hamparan

Tukar fail Excel dalam aplikasi Java melalui API Sumber Terbuka.

Documents4J ialah API Java sumber terbuka daripada menukar Microsoft Excel kepada format fail lain. Ini dicapai dengan mewakilkan penukaran kepada mana-mana aplikasi asli yang memahami penukaran fail yang diberikan ke dalam format sasaran yang diingini. API menawarkan dua jenis pelaksanaan setempat dan jauh. Menggunakan dokumen versi tempatan boleh ditukar pada mesin yang sama iaitu kabel untuk menukar format fail yang diminta. Menggunakan API Jauh, anda menghantar dokumen ke pelayan menggunakan REST-API dan pelayan melaksanakan penukaran yang diminta.

Documents4J adalah telus dan mudah digunakan. Pembangun boleh bekerja dengan versi tempatan API manakala pembangunan dan versi jauh boleh digunakan apabila pembangun menerbitkan apl pada pengeluaran.

Previous Next

Bermula dengan Documents4J

Pertama sekali, anda perlu membuat salinan documents4j pada mesin tempatan anda. Hanya klon repositori documents4j dengan menggunakan git atau dengan mengklonkannya terus pada GitHub. Setelah repositori diklon, anda boleh membina projek menggunakan Mave

Pasang Documents4J melalui GitHub


git clone https://github.com/documents4j/documents4j.git
cd documents4j
mvn package
            

Tukar Microsoft Excel menggunakan Java

Documents4J ialah API yang fasih untuk melaksanakan penukaran dokumen. API tidak mendedahkan sebarang butiran pelaksanaan penukar sokongan. Untuk melakukan penukaran dokumen, API menawarkan antara muka IConverter. Menggunakan antara muka ini anda boleh menukar format fail Microsoft Excel kepada format fail yang anda inginkan. Untuk mengetahui format fail penukaran yang disokong, anda boleh bertanya kaedah getSupportedConversion() yang akan mengembalikan sumber dan format fail sasaran.

Tukar Fail Excel kepada Format Fail Lain melalui 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)) )

Tukar Dokumen Pejabat kepada PDF melalui Java

Pustaka Documents4J sumber terbuka telah menyertakan beberapa ciri penting untuk menukar dokumen pejabat Microsoft seperti Word, Excel dan fail PowerPoint kepada format fail sokongan lain seperti PDF atau imej dll. Contoh berikut menunjukkan betapa mudahnya pengaturcara perisian memuatkan dan menukar fail Microsoft Word Docx ke fail PDF dengan hanya beberapa baris kod.

Tukar Fail Office Docx kepada PDF melalui Pustaka 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();
}
}
 Melayu