1. produkty
  2.   Tabulka
  3.   Java
  4.   Documents4J
 
  

Open Source Java Library for Sreadsheet Documents

Převádějte soubory Excel v aplikacích Java prostřednictvím rozhraní Open Source API.

Documents4J je open-source Java API pro převod aplikace Microsoft Excel do jiných formátů souborů. Toho je dosaženo delegováním převodu na jakoukoli nativní aplikaci, která rozumí převodu daného souboru do požadovaného cílového formátu. Rozhraní API nabízí dva typy implementací místní a vzdálené. Pomocí místní verze lze dokument převést na stejném počítači, který je kabelem pro převod požadovaného formátu souboru. Pomocí vzdáleného API odešlete na server dokument pomocí REST-API a server provede požadovanou konverzi.

Documents4J je transparentní a snadno se používá. Vývojáři mohou při vývoji pracovat s místní verzí API a vzdálenou verzi lze použít, když vývojáři publikují aplikaci v produkci.

Previous Next

Začínáme s Documents4J

Nejprve si musíte vytvořit kopii documents4j na místním počítači. Jednoduše naklonujte úložiště documents4j pomocí git nebo jej naklonujte přímo na GitHubu. Jakmile je úložiště naklonováno, můžete projekt sestavit pomocí Mave

Nainstalujte Documents4J přes GitHub


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

Převeďte Microsoft Excel pomocí Java

Documents4J je plynulé API pro provádění převodu dokumentů. Rozhraní API nezveřejňuje žádné podrobnosti o implementaci záložního převodníku. Pro převod dokumentů API nabízí rozhraní IConverter. Pomocí tohoto rozhraní můžete převést formát souboru Microsoft Excel na požadovaný formát souboru. Chcete-li zjistit podporované formáty souborů konverze, můžete dotaz na metodu getSupportedConversion(), která vrátí zdrojový a cílový formát souboru.

Převést soubor Excel do jiného formátu souborů pomocí 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)) )

Převod dokumentů do PDF přes Java

Open Source Documents4J knihovna obsahuje několik důležitých funkcí pro konverzi Microsoft kancelářských dokumentů, jako je Word, Excel a PowerPoint souborů do jiných formátů podpory, jako je PDF nebo obrázek atd. Následující příklad prokázal, jak snadno může softwarových programátorů načíst a převést soubor Microsoft Word Docx do souboru PDF s pouhým několika řádky kódu.

Převést Office Docx Soubor do PDF přes Java knihovna


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();
}
}
 Čeština