1. Produkter
  2.   Regneark
  3.   Java
  4.   Documents4J
 
  

Open Source Java-bibliotek til regnearksdokumenter

Konverter Excel-filer i Java-applikationer via Open Source API.

Documents4J er en open source Java API fra konvertering af Microsoft Excel til andre filformater. Dette opnås ved at uddelegere konverteringen til ethvert indbygget program, som forstår konverteringen af den givne fil til det ønskede målformat. API'en tilbyder to typer implementeringer lokalt og eksternt. Ved at bruge den lokale version kan dokumentet konverteres på den samme maskine, som er kabel til at konvertere det ønskede filformat. Ved hjælp af Remote API sender du et dokument til serveren ved hjælp af REST-API, og serveren udfører den anmodede konvertering.

Documents4J er gennemsigtig og nem at bruge. Udviklere kan arbejde med den lokale version af API'et, mens udvikling og fjernversionen kan bruges, når udviklerne udgiver appen på produktionen.

Previous Next

Kom godt i gang med Documents4J

Først og fremmest skal du oprette en kopi af documents4j på din lokale maskine. Du skal blot klone documents4j's repository ved at bruge git eller ved at klone det direkte på GitHub. Når depotet er klonet, kan du bygge projektet ved hjælp af Mave

Installer Documents4J via GitHub


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

Konverter Microsoft Excel ved hjælp af Java

Documents4J er en flydende API til at udføre dokumentkonvertering. API'en afslører ingen detaljer om implementeringen af backing-konverteren. For at udføre dokumentkonvertering tilbyder API'en IConverter-grænseflade. Ved hjælp af denne grænseflade kan du konvertere Microsoft Excel-filformatet til det ønskede filformat. For at finde ud af de understøttede konverteringsfilformater kan du forespørge getSupportedConversion()-metoden, som returnerer kilde- og målfilformaterne.

Konverter Excel-fil til andet filformat via 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)) )

Konverter Office-dokumenter til PDF via Java

Open source-biblioteket Documents4J har inkluderet flere vigtige funktioner til at konvertere Microsoft Office-dokumenter som Word-, Excel- og PowerPoint-filer til andre støttefilformater som PDF eller billede osv. Det følgende eksempel viste, hvor nemt softwareprogrammører kan indlæse og konvertere en Microsoft Word Docx-fil til PDF-fil med blot et par linjer kode.

Konverter Office Docx-fil til PDF via Java Library


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();
}
}
 Dansk