mvc 5 display pdf in view : Convert pdf to html open source application SDK cloud windows winforms .net class Docx4j_GettingStarted0-part427

Docx4j - Getting Started 
This guide is for docx4j 2.7.1. 
The latest version of this document can always be found in docx4j svn in /docs
(in Flat OPC XML format 
for Word 2007, HTML
, and PDF
). 
The most up to date copy of this document is in English.  From time to time, it is machine translated into 
other languages.   
What is docx4j? 
docx4j is a library for unzipping a docx "package", and parsing the WordprocessingML XML to create an 
in-memory representation in Java.  Recent versions of docx4j also support Powerpoint pptx files and 
Excel xlsx files. 
It is similar in concept to Microsoft's  OpenXML SDK, which is for .NET. 
docx4j is open source, available under the Apache License (v2).  As an open source project, contributions 
are welcome.  Please see the docx4j forum at http://dev.plutext.org/forums/
for details. 
The Docx4j social contract
docx4j is currently available under the Apache Software license.  This gives you freedom to do pretty 
much anything you like with it.  It also means you don't have to pay for it (there is no incentive to take 
up a commercial license, so we don't offer one). 
The quid pro quo is that if docx4j helps you out, you should please "give something back", by way of 
code, community support, by "spreading the word" (promotion), or by buying commerical support. Your 
choice.  docx4j needs you help to make it easier for people to find it.  
If you choose promotion, your options include: 
 emailing to jharrop@plutext.com a testimonial which we can put on our website (preferably 
with your organization name, but without is worthwhile as well),  
 a blog post, a tweet, or a helpful (non-spammy) comment in an online forum, 
 sharing the content on our blog, following jasonharrop on Twitter, or connecting on LinkedIn. 
Your promotion/support will help grow the docx4j community and thus its strength, to the benefit of 
all.  
Convert pdf to html open source - Convert PDF to html files in C#.net, ASP.NET MVC, WinForms, WPF application
How to Convert PDF to HTML Webpage with C# PDF Conversion SDK
embed pdf to website; convert pdf to html
Convert pdf to html open source - VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.net, ASP.NET MVC, WinForms, WPF application
PDF to HTML Webpage Converter SDK for VB.NET PDF to HTML Conversion
how to convert pdf into html; convert pdf form to html
Please complete our very short new user survey at 
http://www.plutext.com/limesurvey/index.php?sid=78372
. It 
includes a question on the above.  Thanks. 
Docx4j relies heavily on JAXB, the JCP standard for Java - XML binding.  You can think of docx4j as a JAXB 
implementation of (amongst others): 
 Open Packaging Conventions 
 WordProcessingML (docx) part of Open XML 
 Presentation ML (pptx) part of OpenXML  
 SpreadsheetML (xlsx) part of Open XML. 
The library is designed to round trip docx files with 100% fidelity, and supports all 2007 WordML.  
Support for new Word 2010 features will be added soon. 
The docx4j project is sponsored by Plutext (www.plutext.com
). 
Is docx4j for you? 
Docx4j is for processing docx documents (and pptx presentations and xlsx spreadsheets) in Java. 
It isn't for old binary (.doc) files.  If you wish to invest your effort around docx (as is wise), but you also 
need to be able to handle old doc files, see further below for your options.  
Nor is it for RTF files. 
If you want to process docx documents on the .NET platform, you should look at Microsoft's  OpenXML 
SDK instead. 
An alternative to docx4j is Apache POI.  I'd particularly recommend that if you are only processing Excel 
documents, and need support for the old binary xls format.  Since POI uses XmlBeans (not JAXB) it may 
be a better choice if you want to use XmlBeans. 
What sorts of things can you do with docx4j? 
 Open existing docx (from filesystem, SMB/CIFS, WebDAV using VFS), pptx, xlsx 
 Create new docx, pptx, xlsx 
 Programmatically manipulate the above (of course) 
Specific to docx4j (as opposed to pptx4j, xlsx4j): 
 Template substitution; CustomXML binding 
 Produce/consume Word 2007's xmlPackage (pkg) format 
 Save docx to filesystem as a docx (ie zipped), or to JCR (unzipped) 
C# PDF Text Extract Library: extract text content from PDF file in
it is feasible for users to extract text content from source PDF document file the following C# example code for text extraction from PDF page Open a document
convert from pdf to html; convert pdf to website
VB.NET PDF Annotate Library: Draw, edit PDF annotation, markups in
Decode source PDF document file into an in-memory object, namely 2.pdf" Dim outputFilePath As String = Program.RootPath + "\\" Annot_8.pdf" ' open a PDF file
converting pdf to html email; add pdf to website
 Apply transforms, including common filters 
 Export as HTML or PDF 
 Diff/compare documents, paragraphs or sdt (content controls) 
 Font support (font substitution, and use of any fonts embedded in the document) 
This document focuses primarily on docx4j, but the general principles are equally applicable to pptx4j 
and xlsx4j. 
docx4all  is an example of an application based on docx4j; its a Swing-based wordprocessor for docx 
documents.  You can try it or download its source code at dev.plutext.org 
What Word documents does it support? 
Docx4j can read/write docx documents created by or for Word 2007, or earlier versions which have the 
compatibility pack installed. 
The relevant parts of docx4j are generated from the ECMA schemas. 
It can't read/write Word 2003 XML documents.  The main problem with those is that the XML 
namespace is different. 
Docx4j 2.7.1 handles Word 2010 specific features, by gracefully degrading to the specified 2007  
For more information, please see Specification versions below. 
Handling legacy binary .doc files 
Apache POI's HWPF can read .doc files, and docx4j could use this for basic conversion of .doc to .docx.  
The problem with this approach is that POI's HWPF code fails on many .doc files. 
An effective approach is to use OpenOffice (via jodconverter) to convert the doc to docx, which docx4j 
can then process.  If you need to return a binary .doc, OpenOffice/jodconverter can convert the docx 
back to .doc. 
There is also http://b2xtranslator.sourceforge.net/ .  If a pure Java approach were required, this could 
be converted. 
Using docx4j binaries 
You can download the latest version of docx4j from http://dev.plutext.org/docx4j/
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Description: Combine the source PDF streams into one PDF file and save it to a new PDF file on the disk. Parameters: Name, Description, Valid Value.
how to convert pdf to html email; best pdf to html converter online
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Online C# source code for extracting, copying and pasting PDF The portable document format, known as PDF document, is of file that allows users to open & read
convert fillable pdf to html form; convert pdf to html online
In general, we suggest you develop against a currently nightly build, since the latest formal release can 
often be several months old. 
Supporting jars can be found in the .tar.gz version, or in the relevant subdirectory.   
Command Line Samples 
With docx4j version 2.6.0, there are several samples you can run right away from the command line. 
The two to try (both discussed in detail further below) are: 
 OpenMainDocumentAndTraverse 
 PartsList 
Invoke with a command like: 
java -cp docx4j.jar:log4j-1.2.15.jar org.docx4j.samples.OpenMainDocumentAndTraverse [input.docx]
If there are any images in the docx, you'd also need: 
xmlgraphics-commons-1.4.jar 
commons-logging-1.1.1.jar
on your classpath. 
docx4j dependencies 
log4j 
To do anything with docx4j, you need log4j on your classpath. 
To actually enable logging, you need a log4.properties or log4j.xml on your class path.  See for example 
http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/src/main/resources/log4j.xml
If you don't 
configure log4j like that, docx4j will auto configure logging at INFO level. 
If you are using Eclipse to run things, in the run configuration: 
 add VM argument  
-Dlog4j.configuration=log4j.xml 
 to the classpath, add a user entry (click "advanced..") for 
src/main/resources 
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
Convert OpenOffice Text Document to PDF with embedded fonts. to change ODT, ODS, ODP forms to fillable PDF formats in Visual Online source code for C#.NET class.
best website to convert pdf to word online; convert pdf table to html
VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
addition, texts, pictures and font formatting of source PDF file are accurately retained in converted Word document file. Why do we need to convert PDF to Word
convert pdf to html for online; convert pdf to html link
images 
If there are any images in the docx, you'll also need: 
xmlgraphics-commons-1.4.jar 
which in turn requires commons-logging-1.1.1.jar
other dependencies  
Depending what you want to do, the other dependencies will be required. The following table explains 
the other dependencies: 
Functionality 
Jar 
which also requires 
HTML export 
Xalan 
PDF export 
Xalan, 
FOP 
commons-io 
avalon-framework api & impl 
OLE, binary import 
POI, commons-codec 
Differencing 
commons-lang,  
stax (for Java 1.5 only) 
wmf2svg 
Saving/loading via WebDAV etc 
External graphics  
commons-vfs 
jdom 
As noted above, docx4j dependencies (with the exception of stax) can be found in the .tar.gz version, or 
in the relevant subdirectory of  http://dev.plutext.org/docx4j/
You can also get them via Maven (see next section). 
Using docx4j via Maven 
Maven POM can be found at 
http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/m2/org/docx4j/docx4j
As from version 2.7.1, docx4j is in Maven Central. 
JDK versions 
You need to be using Java 1.5+. 
C# Word - MailMerge Processing in C#.NET
da.Fill(data); //Open the document DOCXDocument document0 = DOCXDocument.Open( docFilePath ); int counter = 1; // Loop though all records in the data source.
export pdf to html; how to convert pdf into html code
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Separate source PDF document file by defined page range in VB.NET class application. Divide PDF file into multiple files by outputting PDF file size.
how to add pdf to website; best website to convert pdf to word
This is because of JAXB
1
.  If you must use  1.4, retrotranslator can reportedly make it work. 
If you are using 1.5 only, and want to do differencing, you will need stax (uncomment it in pom.xml). 
A word about Jaxb 
docx4j uses JAXB to marshall and unmarshall the key parts in a WordprocessingML document, including 
the main document part, the styles part, the theme part, and the properties parts. 
JAXB is included in Sun's Java 6 distributions, but not 1.5.  So if you are using the 1.5 JDK, you will need 
JAXB 2.1.x on your class path.   
Bits of docx4j, such as org.docx4j.wml
and  org.docx4j.dml
were generated using JAXB's XJC. We 
modified the wml.xsd schema in particular, so that the key resulting classes are a bit more human 
friendly (ie don't all start with CT_ and ST_).  
Javadoc 
Javadoc for browsing online or download, can be found in the directory http://dev.plutext.org/docx4j/
Docx4j source code 
To obtain a copy of the current source code: 
svn co http://dev.plutext.org/svn/docx4j/trunk/docx4j docx4j 
Alternatively, you can browse it online, at: 
http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/ 
Building docx4j from source  
To obtain a copy of the current source code: 
svn co http://www.docx4java.org/svn/docx4j/trunk/docx4j docx4j 
Alternatively, you can browse it online, at: 
http:// www.docx4java.org/trac/docx4j/browser/trunk/docx4j/ 
1
http://forums.java.net/jive/thread.jspa?threadID=411
Building docx4j from source  
Command line -via Maven 
Create a directory called workspace, and cd into it. 
svn co http://
www.docx4java.org/svn/docx4j/trunk/docx4j docx4j 
export MAVEN_OPTS=-Xmx512m 
mvn install  
Command line - via Ant 
Before you can build via ant, you need to obtain docx4j's dependencies.  You can get them from the 
binary distribution, or via maven.   
Once you have done that, create a directory called workspace, and cd into it. 
svn co http://
www.docx4java.org/svn/docx4j/trunk/docx4j docx4j 
Edit build.xml, so the pathelements point to where you placed the dependencies. 
Then 
ant dist
or on Linux 
ANT_OPTS="-Xmx512m -XX:MaxPermSize=256m" ant dist
That ant command will create the docx4j.jar and place it and all its dependencies in the dist dir. 
Eclipse 
Prerequisites
 Eclipse installed 
 Install an Eclipse subversion plugin eg http://subclipse.tigris.org/update_1.2.x 
 Install Maven and the Eclipse plugin
And, as discussed above: 
 Java 1.5 or 6 
 JAXB: either the JAXB implementation included in Java 6, or the 2.x reference implementation.  
Instructions
 File > New "Project .." > SVN > Checkout Projects from SVN 
 Create a new repository location; Url is http://dev.plutext.org/svn/docx4j 
 Click folder "trunk", and select docx4j; click next 
 You want to check it out as a project configured using the New Project Wizard 
 Then select Java > Java Project; click Next 
 Choose a project name (eg docx4j) then click Next 
 Click Finish (we'll define the Java build settings in a later step) 
After a couple of other dialog boxes, you should have the new project in your workspace. 
Enable Maven (make sure you have Maven and its plugin installed - see Prerequisites above): 
 with Eclipse Indigo 
o Right click on the project 
o Click "Configure > Convert to Maven Project" 
 with earlier versions of Eclipse 
o Run mvn install in the docx4j dir from a command prompt (just in case) 
o Right click on project > Maven 2 > EnableDependency Management 
Set compiler version & system library: 
 Right click on the project (or Alt-Enter) 
 Choose "Java Compiler", then set JDK compliance to 1.6 
 Choose "Java Build Path", and check you are using 1.6 "JRE System Library". If not, remove, then 
click "Add Library" 
Now, we need to check the class path etc within Eclipse so that it can build. 
 Build Path > Configure Build Path > Java Build Path > Source tab 
 Verify it contains: 
o src/diffx 
o src/glox4j 
o src/main/java 
o src/pptx4j/java (remove "Excluded: **" if present!) 
o src/svg 
o src/xslx4j/java 
o src/xslfo 
The project should now be working in Eclipse without errors
2
.  
Open an existing docx/pptx/xlsx document 
org.docx4j.openpackaging.packages.WordprocessingMLPackage represents a docx 
document. 
To load a document, all you have to do is: 
WordprocessingMLPackage wordMLPackage =  
WordprocessingMLPackage.load(new java.io.File(inputfilepath)); 
That method can also load ͞Flat OP P ͟ XML files. 
You can then get the main document part (word/document.xml): 
MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart(); 
After that, you can manipulate its contents.  
WordprocessingMLPackage.load uses  
LoadFromZipNG loader = new LoadFromZipNG(); 
If you need to load a docx from an input stream, you can do something like: 
WordprocessingMLPackage pkg = (WordprocessingMLPackage)loader.get(stream); 
A similar approach works for pptx files: 
PresentationMLPackage presentationMLPackage =  
(PresentationMLPackage)OpcPackage.load(new java.io.File(inputfilepath)); 
And similarly for xlsx files. 
WordML concepts 
To do anything much beyond this, you need to have an understanding of basic WordML concepts. 
According to the Microsoft Open Packaging spec, each docx document is made up of a number of ͞Part͟ 
files, zipped up.  A Part is usually XML, but might not be (an image part, for example, isn't). 
2
If you get the error 'Access restriction: The type is not accessible due to restriction on required library rt.jar' 
(perhaps using some combination of Eclipse 3.4 and/or JDK 6 update 10?), you need to go into the Build Path for 
the project, Libraries tab, select the JRE System Library, and add an access rule, "Accessible, **".  
10 
The parts form a tree. If a part has child parts, it must have a relationships part which identifies these. 
The part which contains the main text of the document is the Main Document Part.  Each Part has a 
name.  The name of the Main Document Part is usually "/word/document.xml". 
If the document has a header, then the main document part woud have a header child part, and this 
would be described in the main document part's relationships (part). 
Similarly for any images.  To see the structure of any given document, see "Parts List" further below. 
An introduction to WordML is beyond the scope of this document.  You can find a very readable 
introduction in 1
st
edition Part 3 (Primer) at http://www.ecma-
international.org/publications/standards/Ecma-376.htm
or http://www.ecma-
international.org/news/TC45_current_work/TC45_available_docs.htm
(a better link for the 1st edition 
(Dec 2006), since its not zipped up).  
Specification versions  
From Wikipedia: 
The Office Open XML
file formats were standardised between December 2006 and November 2008,  
first by the Ecma International
consortium (where they became ECMA-376),  
and subsequently .. by the ISO
/IEC
's Joint Technical Committee 1
(where they became ISO/IEC 29500:2008). 
The Ecma-376.htm link also contains the 2nd edition documents (of Dec 2008), which are 
"technically 
aligned with ISO/IEC 29500". 
Office 2007 SP2 implements ECMA-376 1st Edition
3
; this is what docx4j implements. 
ISO/IEC 29500 (ECMA-376 2nd Edition) has Strict and Transitional conformance classes.  Office 2010 supports
4
transitional, and also has read only support for strict. 
Architecture 
Docx4j has 3 layers: 
1. org.docx4j.openpackaging 
OpenPackaging handles things at the Open Packaging Conventions level:  unzipping a docx into 
WordprocessingMLPackage and a set of objects inheriting from Part;  allowing parts to be 
added/deleted; saving the docx 
3
http://blogs.msdn.com/b/dmahugh/archive/2009/01/16/ecma-376-implementation-notes-for-office-2007-sp2.aspx
4
http://blogs.msdn.com/b/dmahugh/archive/2010/04/06/office-s-support-for-iso-iec-29500-strict.aspx
Documents you may be interested
Documents you may be interested