Библиотека Java с открытым исходным кодом для электронных таблиц

Преобразование файлов Excel в приложения Java с помощью API с открытым исходным кодом.

Documents4J — это Java API с открытым исходным кодом для преобразования файлов Microsoft Excel в другие форматы. Это достигается делегированием преобразования любому собственному приложению, которое понимает преобразование данного файла в желаемый целевой формат. API предлагает два типа реализации: локальную и удаленную. Используя локальную версию, документ можно преобразовать на той же машине, на которой выполняется преобразование требуемого формата файла. Используя Remote API, вы отправляете документ на сервер с помощью REST-API, и сервер выполняет запрошенное преобразование.

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

Previous Next

Начало работы с Documents4J

Прежде всего, вам нужно создать копию document4j на вашем локальном компьютере. Просто клонируйте репозиторий 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 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();
}
}
 Русский