Бібліотека Java з відкритим вихідним кодом для табличних документів

Перетворюйте файли Excel у програмах Java за допомогою Open Source 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)) )

Перетворіть документи Office на PDF за допомогою Java

Бібліотека Documents4J з відкритим вихідним кодом включає кілька важливих функцій для перетворення документів Microsoft Office, таких як файли 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();
}
}
 Українська