2013-02-21 25 views

cevap

18

Açıklanması: docx4j da pptx işleyebilir ve xlsx rağmen ben docx4j projesini

kurşun, çoğunlukla docx manipülasyon için kullanılır. Yazım sırasındaki gibi, örnek olarak, docx4j forum'da yaklaşık 1000 konu bulunmaktadır. Pptx forumun sesinin sadece% 10'u vardır.

Docx belgesinde ne yapmak isterseniz, docx4j size yardım edebilmelidir. Genel bir iş akışı için single page overview var.

Birçok yaygın gereksinim için, docx4j daha yüksek düzey API sağlar. Bunlar aşağıdakileri içerir:

  • açık// oluşturma

  • Rapor/belge oluşturma, çeşitli yaklaşımlar kullanılarak (elbette) docx kaydedin: (i) değişken ikame, bağlanması (ii) XML veri () özellikle güçlü ve (iii) Mailmerge HTML olarak

  • İhracat, XHTML

  • verme tipi destek PDF() olarak

Diğer her şey için, docx'in JAXB temsilini kalbinizin içeriğine göre değiştirebilirsiniz. JAXB, Java 6'da bulunan ve EclipseLink'in MOXy ürününde güçlü bir alternatif uygulaması olan bir Java topluluğu standardıdır. (POI, JAXB yerine XML çekirdekleri kullanır)

Bir docx'i keşfetmenize ve ilgili Java nesnelerini oluşturmak için Java kodu oluşturmanıza yardımcı olacak bir web app var. Tabii ki, aklınızda olan belirli bir görev varsa, docx4j veya POI'nin orada belirli bir güce sahip olması şüphesiz olabilir.

Hem docx4j hem de POI lisanslı ASL v2'dir. Doc24j aktif olarak sürdürülür; Kaynak kodu on GitHub. Örneğin, isterseniz, ticari destek, docx4j için de kullanılabilir.

docx4j, minnettar olduğumuz OLE 2 Bileşik Belge biçimindeki POI'yi its implementation için bir kitaplık olarak kullanır.

+0

Tüm işlemler XML ayrıştırma hakkından mı geliyor? Örneğin, docx4j ile etkileşimli olarak word belgesi kullanabilir miyim? Belirli bir metni aramak ve sonucu tam olarak arama kutusu gibi seçmek ister miyim? – becks

+1

XML, JAXB nesnelerine unmarshalled; İşlem daha sonra genellikle bu seviyede yapılır. docx4j bir kütüphanedir. Etkileşimli olarak kullanmak için etkileşimli bir uygulama yapmanız gerekir. docx4all, docx4j'ye dayalı bir etkileşimli uygulamanın (bir kelime işlemci) örneğidir. Docx4j ile, metni arayabilir ve sonuçları ile bir şeyler yapabilirsiniz. – JasonPlutext

+0

docx4j, docx dosyaları içindeki tabloları destekliyor mu? Ben sadece bir satınalma siparişi docx dosyası oluşturmak ve pdf dönüştürmek için çalıştı ve tablo gerçekten kötü biçimlendirildi. Örnek webapp'ı docx4j web sitesinde kullandım: http://webapp.docx4java.org/OnlineDemo/docx_to_pdf_fop.html –

2

Apache POI'nin ana odağı, e-tablolarla uğraşmaktan ibaret olsa da, Word belgelerini okuyabilme özelliklerine sahip olmama rağmen bunu yapmak için xml fasulyeleri kullanıyor. Docx4j çoğunlukla jaxb kullanarak docx belgeleriyle ilgilenir. Genellikle jaxb java nesne dönüşümü için xml sağlar, bu yüzden docx4j'nin sizin durumunuz için tercih edileceğini düşünüyorum.

2

Apache POI'yi denedim, ancak sorun docx dosyasından bir şey yazdırırken (Ör: Tüm "Heading1" öğelerini docx'ten yazdırmak için), çok sayıda kötü veri ve beyaz boşluklar yazdırılır.Docx4j bu kötü verileri önleyecektir, denedim.

0

Ben docx4j kullanmıyorum ve denemek niyetindeyim. Poi yalnızca standart openxml belgeleriyle ilgilenebilir. Microsoft docx dosyası, openxml formatını tam olarak desteklemiyor. Pek çok format poi kullanarak kaybedebilir. Docx4j,% 100 formatındaki docx dosyalarını desteklemeyi hedeflediğini iddia ediyor. Daha iyi çalışacağını düşünüyorum.

İlgili konular