Elektronik Tablo Belgeleri için Açık Kaynak Java Kitaplığı
Java uygulamalarındaki Excel dosyalarını Open Source API aracılığıyla dönüştürün.
Documents4J, Microsoft Excel'in diğer dosya biçimlerine dönüştürülmesinden elde edilen açık kaynaklı bir Java API'sidir. Bu, dönüşümü, verilen dosyanın istenen hedef biçime dönüştürülmesini anlayan herhangi bir yerel uygulamaya devrederek elde edilir. API, yerel ve uzak olmak üzere iki tür uygulama sunar. Yerel sürüm belgesini kullanarak, istenen dosya biçimini dönüştürme kablosu olan aynı makinede dönüştürülebilir. Remote API kullanarak, REST-API kullanarak sunucuya bir belge gönderirsiniz ve sunucu istenen dönüşümü gerçekleştirir.
Documents4J şeffaftır ve kullanımı kolaydır. Geliştiriciler, geliştirme sırasında API'nin yerel sürümüyle çalışabilir ve geliştiriciler uygulamayı üretimde yayınladığında uzak sürüm kullanılabilir.
Documents4J'ye Başlarken
Her şeyden önce, yerel makinenizde document4j'nin bir kopyasını oluşturmanız gerekir. Git'i kullanarak veya doğrudan GitHub'da klonlayarak Document4j'nin deposunu klonlayın. Depo klonlandığında, projeyi Mave kullanarak oluşturabilirsiniz.
Documents4J'yi GitHub aracılığıyla yükleyin
git clone https://github.com/documents4j/documents4j.git
cd documents4j
mvn package
Java kullanarak Microsoft Excel'i dönüştürün
Documents4J, belge dönüştürme işlemini gerçekleştirmek için akıcı bir API'dir. API, destek dönüştürücü uygulamasının hiçbir ayrıntısını göstermez. API, belge dönüştürme işlemini gerçekleştirmek için IConverter arayüzü sunar. Bu arabirimi kullanarak Microsoft Excel dosya biçimini istediğiniz dosya biçimine dönüştürebilirsiniz. Desteklenen dönüştürme dosyası biçimlerini bulmak için kaynak ve hedef dosya biçimlerini döndürecek olan getSupportedConversion() yöntemini sorgulayabilirsiniz.
Excel File'i diğer File Format'a 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)) )
Office Belgeleri Java ile PDF'ye Dönüştürün
Açık kaynak belgeleri4J kütüphanesi, Microsoft ofis belgelerini Word, Excel ve PowerPoint dosyalarını PDF veya görüntü gibi diğer destek dosyalarına dönüştürmek için birkaç önemli özellik içeriyordu. Aşağıdaki örnek, yazılım programcılarının nasıl kolayca yükleyebileceğini ve Microsoft Word Docx dosyasını sadece birkaç kodla PDF dosyaya dönüştürebileceğini gösterdi.
Java Kitaplığı aracılığıyla Office Docx Dosyasını PDF'ye Dönüştürün
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();
}
}