Apache POI lub docx4j do obsługi dokumentów docx [zamknięty]
Co według ciebie jest lepsze do odczytu dokumentu docx jako obiektów java i dlaczego ?
Innymi słowy. która biblioteka obsługuje większość tagów słów?
4 answers
Ujawnienie: prowadzę projekt docx4j
Chociaż docx4j może również obsługiwać pptx i xlsx, jest głównie używany do manipulacji docx. Na przykład, jak w momencie pisania tego tekstu, na docx4j forum jest prawie 1000 tematów. Forum pptx ma tylko 10% wolumenu.
Cokolwiek chcesz zrobić z dokumentem docx, docx4j powinien ci pomóc. Istnieje przegląd pojedynczej strony ogólnego przepływu pracy.
Dla wielu wspólnych wymagania, docx4j zapewnia wyższy poziom API. Należą do nich:
-
Utwórz/Otwórz / Zapisz docx (oczywiście)
Generowanie raportów/dokumentów przy użyciu różnych metod: (i) zmienna w 2011 roku firma Mailmerge wprowadziła do swojej oferty nową wersję programu Mailmerge.]}
-
Eksportuj jako HTML, XHTML
-
Eksportuj jako PDF (z obsługą czcionek)
Dla czegokolwiek innego, można manipulować JAXB reprezentacji docx do swojego serce jest zadowolone. JAXB jest standardem Java community, zawartym w Javie 6 i z silną alternatywną implementacją w Moxy EclipseLink. (POI używa XML Beans zamiast JAXB)
Istnieje Aplikacja internetowa , która pomoże Ci odkrywać docx i generować kod Java, aby utworzyć odpowiednie obiekty Java.
Oczywiście, jeśli masz na myśli jakieś konkretne zadanie, może być tak, że docx4j lub POI ma tam szczególną siłę.
Zarówno docx4j jak i POI są ASL v2 licencjonowany.
Docx4j jest aktywnie utrzymywany; jego kod źródłowy jest na Githubie .
Ponadto, wsparcie komercyjne jest dostępne dla docx4j, jeśli chcesz, podobnie jak kilka komercyjnych rozszerzeń np MergeDocx .
Docx4j opiera się na POI jako bibliotece dla jego implementacji złożonego formatu dokumentu OLE 2, za co jesteśmy wdzięczni.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-16 13:13:19
Myślę, że Apache POI koncentruje się głównie na radzeniu sobie z arkuszami kalkulacyjnymi, chociaż mam funkcje do czytania dokumentów Worda i wykorzystuje do tego fasolę xml. Docx4j zajmuje się głównie dokumentami docx wykorzystującymi jaxb. Zazwyczaj JAXB pozwala XML do java obiekt konwersji stąd myślę, że docx4j byłoby lepsze dla Twojego przypadku.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-21 23:58:02
Próbowałem Apache POI, ale problem polega na tym, że podczas drukowania czegokolwiek z pliku docx (np. aby wydrukować wszystkie elementy" Heading1 " z docx), drukuje się wiele złych danych i spacji. Docx4j uniknie tych złych danych, próbowałem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-15 08:54:12
Jeśli masz do czynienia z dokumentem docx, docx4j jest wygodniejszy niż Apache POI. Możesz użyć poniższych linków, aby nauczyć się podstaw docx4j. istnieje również fajne forum docx4j.
1.http://blog.iprofs.nl/2012/09/06/creating-word-documents-with-docx4j / 2.http://www.smartjava.org/content/create-complex-word-docx-documents-programatically-docx4j?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-04 12:22:57