Java библиотека с отворен код за документи в електронни таблици

Конвертирайте Excel файлове в Java приложения чрез API с отворен код.

Documents4J е Java API с отворен код за конвертиране на Microsoft Excel в други файлови формати. Това се постига чрез делегиране на преобразуването на всяко родно приложение, което разбира преобразуването на дадения файл в желания целеви формат. API предлага два типа реализации локални и отдалечени. С помощта на локалната версия документът може да бъде конвертиран на същата машина, която е кабел за конвертиране на искания файлов формат. С помощта на Remote API вие изпращате документ до сървъра с помощта на REST-API и сървърът изпълнява исканото преобразуване.

Documents4J е прозрачен и лесен за използване. Разработчиците могат да работят с локалната версия на API по време на разработката, а отдалечената версия може да се използва, когато разработчиците публикуват приложението в продукцията.

Previous Next

Първи стъпки с Documents4J

На първо място, трябва да създадете копие на documents4j на вашата локална машина. Просто клонирайте хранилището на documents4j, като използвате git или като го клонирате директно в GitHub. След като хранилището бъде клонирано, можете да изградите проекта с помощта на Mave

Инсталирайте Documents4J чрез GitHub


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

Конвертирайте Microsoft Excel с помощта на Java

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)) )

Преобразуване на документи до PDF чрез Java

Библиотеката с отворен код Documents4J включва няколко важни функции за конвертиране на офис документи на Microsoft като Word, Excel и PowerPoint файла в други формати за поддръжка като PDF или изображение и т.н. Следният пример показва колко лесно могат софтуерните програмисти да зареждат и конвертират файл на Microsoft Word Docx в PDF файла само с няколко реда код.

Преобразуване на Office 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();
}
}
 Български