Java библиотека с отворен код за документи в електронни таблици
Конвертирайте Excel файлове в Java приложения чрез API с отворен код.
Documents4J е Java API с отворен код за конвертиране на Microsoft Excel в други файлови формати. Това се постига чрез делегиране на преобразуването на всяко родно приложение, което разбира преобразуването на дадения файл в желания целеви формат. API предлага два типа реализации локални и отдалечени. С помощта на локалната версия документът може да бъде конвертиран на същата машина, която е кабел за конвертиране на искания файлов формат. С помощта на Remote API вие изпращате документ до сървъра с помощта на REST-API и сървърът изпълнява исканото преобразуване.
Documents4J е прозрачен и лесен за използване. Разработчиците могат да работят с локалната версия на API по време на разработката, а отдалечената версия може да се използва, когато разработчиците публикуват приложението в продукцията.
Първи стъпки с 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)) )
Преобразуване на документи до PDF чрез Java
Библиотеката с отворен код Documents4J включва няколко важни функции за конвертиране на офис документи на Microsoft като 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();
}
}