Βιβλιοθήκη Java ανοιχτού κώδικα για Έγγραφα υπολογιστικών φύλλων
Μετατρέψτε αρχεία Excel σε εφαρμογές Java μέσω API ανοιχτού κώδικα.
Το Documents4J είναι ένα Java API ανοιχτού κώδικα για τη μετατροπή του Microsoft Excel σε άλλες μορφές αρχείων. Αυτό επιτυγχάνεται με την ανάθεση της μετατροπής σε οποιαδήποτε εγγενή εφαρμογή που κατανοεί τη μετατροπή του δεδομένου αρχείου στην επιθυμητή μορφή στόχου. Το API προσφέρει δύο τύπους υλοποιήσεων τοπικές και απομακρυσμένες. Χρησιμοποιώντας το έγγραφο τοπικής έκδοσης μπορεί να μετατραπεί στο ίδιο μηχάνημα που έχει καλώδιο μετατροπής της ζητούμενης μορφής αρχείου. Χρησιμοποιώντας το Remote API, στέλνετε ένα έγγραφο στον διακομιστή χρησιμοποιώντας το REST-API και ο διακομιστής εκτελεί την ζητούμενη μετατροπή.
Το Documents4J είναι διαφανές και απλό στη χρήση. Οι προγραμματιστές μπορούν να εργαστούν με την τοπική έκδοση του API ενώ η ανάπτυξη και η απομακρυσμένη έκδοση μπορούν να χρησιμοποιηθούν όταν οι προγραμματιστές δημοσιεύουν την εφαρμογή στην παραγωγή.
Ξεκινώντας με το Documents4J
Πρώτα απ 'όλα, πρέπει να δημιουργήσετε ένα αντίγραφο του document4j στον τοπικό σας υπολογιστή. Απλώς κλωνοποιήστε το αποθετήριο του document4j χρησιμοποιώντας το 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
Η βιβλιοθήκη εγγράφων ανοιχτού κώδικα περιλαμβάνει πολλές σημαντικές λειτουργίες για τη μετατροπή εγγράφων γραφείων της Microsoft όπως Word, Excel και PowerPoint αρχείων σε άλλες μορφές αρχείων υποστήριξης όπως PDF ή εικόνα κ.λπ. Το παρακάτω παράδειγμα έδειξε πόσο εύκολα μπορούν οι προγραμματιστές λογισμικού να φορτώσουν και να μετατρέψουν ένα αρχείο Microsoft Word Docx σε PDF αρχεία με λίγες γραμμές κώδικα.
Μετατροπή Αρχείου Docx μέσω 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();
}
}