how to open pdf file in mvc : Convert scanned pdf to editable text Library SDK component .net asp.net wpf mvc ddxRef3-part2122

AdobeLiveCycleES4
Assembling PDF Documents
Assembler Service and DDX Reference
Page ranges     31
Example:Setting the base document
<PDF result="doc3">
<PDF source="doc1"/>
<PDF source="doc2" baseDocument="true"/> <!--base document (explicit)-->
</PDF>
<PDF result="doc2">
<PDF source="doc1"/>
<PDF source="doc2"/> <!--base document (source matches result)-->
</PDF>
<PDF result="doc3">
<PDF source="doc1"/> <!--base document (first source document)-->
<PDF source="doc2"/> 
</PDF>
Page ranges
Specify the range of pages to include for each source document by setting the pages attribute of each 
PDF source element. If this attribute is not set, all pages are included by default. Page ranges can include 
one or more of the following items:
A positive integer that specifies a single page number in the source (where the pages are numbered 
starting with 1)
The keyword last means the last page number
The keyword penultimate means the next-to-last page number
A continuous, increasing range of pages separated by a hyphen (for example, 1-last)
A discontinuous range of pages separated by commas (for example, 1,3,5,10)
Note:Spaces are allowed in page ranges.
Example:Specifying page ranges 
<PDF source="doc1" pages="5"/> <!--page 5 only-->
<PDF source="doc1" pages="2-4"/> <!--pages 2 through 4-->
<PDF source="doc1" pages="1-3,6-9,20-21"/> <!--pages 1,2,3,6,7,8,9,20,21-->
<PDF source="doc1" pages="2-penultimate"/> <!--all but first & last pages-->
<PDF source="doc1"/> <!--all pages by default; equivalent to "1-last" -->
The following example assembles three PDF documents, specifying page ranges for the first two pages. It 
is equivalent to deleting pagES4-4 from doc1.pdf, deleting page 7 from doc2.pdf, and then concatenating 
the documents.
Example:Assembling pages from documents
<PDF result="doc4.pdf">
<PDF source="doc1.pdf" pages="1-2,5-last"/>
<PDF source="doc2.pdf" pages="1-6,8-last"/>
<PDF source="doc3.pdf"/>
</PDF>
Note:For PDF source’s that specify multiple input documents, use the select attribute to specify 
document ranges. (See “Specifying multiple input streams” on page32
.)
Convert scanned pdf to editable text - Convert PDF to txt files in C#.net, ASP.NET MVC, WinForms, WPF application
C# PDF to Text (TXT) Converting Library to Convert PDF to Text
convert pdf image to text online; .net extract text from pdf
Convert scanned pdf to editable text - VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net, ASP.NET MVC, WinForms, WPF application
VB.NET Guide and Sample Codes to Convert PDF to Text in .NET Project
convert pdf file to text file; convert pdf file to text
AdobeLiveCycleES4
Assembling PDF Documents
Assembler Service and DDX Reference
Other source attributes     32
Other source attributes
In addition to the source and pages attributes, PDF source elements can have these attributes, which 
are discussed further in other sections:
bookmarkTitle specifies the title of a bookmark that is added to the resultant document (see
“Creating bookmarks from source documents” on page66
).
includeInTOC controls whether the source document appears in the table of contents, if present
(see “Adding a table of contents” on page86
).
access specifies a password for opening the source document if it is encrypted (see “Accessing a
password-protected document” on page133
).
A number of attributes (matchModerequiredselectsortLocalesortOrder) are used to
specify documents from a selection of multiple source documents. (See “Specifying multiple input
streams” on page32
). The sortLocale, sortOrder, and matchMode attributes apply only when the
sourceMatch attribute is used to create an ordered list.
Note:Data specified by a PDF source element can be in XML Data Package (XDP) format or PDF. XDP is an 
XML format that can contain PDF data and form data.
Specifying multiple input streams
In most of the examples in this document, a PDF source element represents a single PDF document. You 
can also map multiple documents to a single PDF source element, XDP source element, XDPContents, or 
PackageFiles source element.
Names are mapped to streams with an input map. An input map contains entries that specify names and 
corresponding values. The values can represent either a single input stream or an ordered list of input 
streams. (See the "Programmatically Assembling PDF Documents" section in the Programming with 
LiveCycle
.)
A source element can have a sourceMatch attribute instead of a source attribute. (If neither is present, 
the DDX is invalid.) The Assembler service uses these attributes and other source element attributes to 
generate an ordered input list of one or more streams. The ordered input list is used to generate content for 
the parent result element.
The Assembler service uses the following process to create the input list for a PDFXDPXDPContent, or 
PackageFiles element: 
If the source attribute resolves to a document or list of document, the input is initially set to the
stream or ordered list of streams mapped to the name. If the source attribute is not a URL, the
Assembler services looks for the named document or document list in the input map or among the
previous result elements.
If source is present and the name is not found in the input map or from a previous result,
sourceMatch is used, if present. If sourceMatch is not present, an error occurs if the required
attribute is set to true. Otherwise, the source element is ignored and contributes no content to the
resultant document.
sourceMatch specifies a regular expression whose syntax is implemented in the
java.util.regex package for Java.  If source is not present, sourceMatch must be present. The
sourceMatch regular expression is used to select one or more source names from the input map. If
source is present and contains an URL, then the sourceMatch regular expression is used to select
VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
high quality Word documents from both scanned PDF and searchable Convert PDF document to DOC and DOCX formats in to export Word from multiple PDF files in VB.
change pdf to text file; convert pdf to .txt file
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Convert multiple pages PowerPoint to fillable and editable PDF documents. Easy to create searchable and scanned PDF files from PowerPoint.
convert pdf to txt file; convert pdf to word text online
AdobeLiveCycleES4
Assembling PDF Documents
Assembler Service and DDX Reference
List defined by a source that specifies a name in the input map     33
one or more source names from the URL. The URL can resolve to a document or a list of documents. If 
source is present and its value is a key in the input map, then sourceMatch is ignored. 
When the names are matched, matchMode indicates whether to include or exclude the matched 
names. This list of names is then sorted according to sortOrder to result in an ordered list of names.
The matching names are sorted based on the value of the sortOrder attribute, either Ascending 
(the default) or Descending. The Assembler service creates an ordered list of streams by taking each 
name in the sorted list and adding each of its streams, in order, to the input list. (The sort order can be 
refined for different languages by using the sortLocale attribute.)
The final input list is created by applying the select attribute, which specifies a range of documents in
the list. Its syntax is the same as the syntax used for page ranges (see “Page ranges” on page31
). For
example, "2-last" selects the second-through-last document in the list. If the range results in no
documents being selected, the input list is empty.
If the value of matchMode is Exclude, the select attribute value is inverted. That is, the input list
includes all streams other than those streams specified by select.
If the final input list is empty (consists of no streams), the source element does not add any content to the 
assembly. For example, if the select attribute is set to "3" and only two source documents are in the 
input map, then the final input list is empty. You can specify that an empty list is acceptable by setting the 
value of the required attribute to false. If the value of required is true (the default), an error occurs.
List defined by a source that specifies a name in the input map
In the following example, there are two keys in the input map Cover and Files. Assume that Cover is 
supplied as a single document and Files is supplied as a list of documents. The first file in the assembly, 
Cover, does not have a Header applied. Each file in the Files list has a Header containing the value of 
the Title keyword in metadata of the first file in the list using the built-in key SourceTitle. The same 
DDX can be used when Files is a single file or a list of files. Consider the following example. 
Example: Input map that specifies multiple input streams
<PDF result="AnAssembly">
<PDF source="Cover"/>
<PDF source="Files">
<Header><Center>
<StyledText><p>_SourceTitle</p></StyledText>
</Center></Header>
</PDF>
</PDF>
List defined by a source that specifies URL 
You can use External Data URLs as the value of source attributes. The URL can resolve to a single document 
or to a folder. If the URL resolves to a folder, the Assembler service (by default) imports the contents of the 
folder.
<PDF result="AnAssemblyAlso">
<PDF source="File:///c:/myDirectory/myFile" select="1" />
<PDF source="File:///c:/myDirectory/myFolder" select="2-last">
<Header><Center>
<StyledText><p>_SourceTitle</p></StyledText>
</Center></Header>
</PDF>
Note: When Files in the above example refers to a list of documents, the metadata properties of the first file 
in the list are used for built-in keywords like SourceTitle
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
multiple pages Word to fillable and editable PDF documents. Easy to create searchable and scanned PDF files from Convert Word to PDF file with embedded fonts or
convert scanned pdf to text word; c# pdf to txt
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Create fillable and editable PDF documents from Excel in Create searchable and scanned PDF files from Excel in VB Convert to PDF with embedded fonts or without
convert pdf file to text online; conversion of pdf image to text
AdobeLiveCycleES4
Assembling PDF Documents
Assembler Service and DDX Reference
List defined by the matchSource and select attributes acting on source     34
</PDF>
List defined by the matchSource and select attributes acting on source
The following example shows how the select and sourceMatch attributes act on the source 
attribute. It shows how to use regular expressions to select documents from a list of documents. The value 
"chap[\d]+" is a regular expressions that uses the following conventions:
[ ] encloses the characters to match
\d specifies any digit 
+ matches one or more of the preceding search criterion
The regular expression translates into this English expression: Find files that have names that include the 
string chap followed by one or more digits.
Example:sourceMatch selects files from a source that is an External Data URL
<PDF result="mybook" save="Full"/>
<PDF source="intro"/>
<PDF source="Chapters" baseDocument="true" 
sourceMatch="chap[\d]+" select="1"/>
<PDF source="Chapters" 
sourceMatch="chap[\d]+" select="2-last"/>
<PDF source="Appendices" 
sourceMatch="appendix[\d]+"/>
<PDF source="index"/>
</PDF>
The following two examples are of input maps that can be used with this DDX document. The first one 
maps each logical name to a single data stream as follows:
In the example, the source attributes of the first and last PDF source element (intro and index) match 
names in the input map. Therefore, those streams are used in the resultant document. 
The source attributes of the other PDF source elements (Chapters and Appendices) do not match any of 
the names in the input map. Therefore, the sourceMatch attribute is checked. The regular expression 
"chap[\d]+" matches chap1, chap2, chap3, and chap4 in the input map. The select attribute "1" 
selects the first of those streams (chap1) and "2-last" selects the rest of them. (If only one name 
Logical name
Data stream
intro
stream_1 
chap1
stream_2 
chap2
stream_3 
chap3
stream_4 
chap4
stream_5 
appendix1
stream_6 
appendix2
stream_7 
index
stream_8 
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
pages Word to fillable and editable PDF documents in Easy to create searchable and scanned PDF files from Word. Convert to PDF with embedded fonts or without
converting pdf to searchable text format; pdf image to text
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Convert multiple pages PowerPoint to fillable and editable PDF documents. Easy to create searchable and scanned PDF files from PowerPoint.
change pdf to text; convert pdf to text
AdobeLiveCycleES4
Assembling PDF Documents
Assembler Service and DDX Reference
Saving PDF documents     35
matched "chap[\d]+", then "2-last" would generate an error unless the value of required was 
false.)
Similarly, the sourceMatch expression "appendix[\d]+" matches appendix1 and appendix2.
In the following example, the input map maps each logical name to an ordered list of data streams.
In this case, all of the names match source attributes in the DDX. In the case of Chapters and Appendices, 
multiple streams are used for the source elements.
PDFXDP, or PackageFiles source elements that represent multiple streams are equivalent to 
multiple versions of those elements representing individual streams. The other attributes in the 
“sourceMatch selects files from a source that is an External Data URL” on page34
example have these 
meanings: 
baseDocument: If true, the first document in the ordered list is marked as the base document. 
bookmarkTitle: If present, the value is a built-in key (see “Built-in keys” on page115
); otherwise, the 
bookmarks are identical for all selected input documents. For example, 
bookmarkTitle="_SourceTitle" uses the metadata title of each PDF document as the bookmark 
title.
includeInTOC: If true, it applies for all selected input documents.
pages: If set, the page range is applied separately to each selected input document.
access: If set, the same password specified by PasswordAccessProfile is used to open each 
selected input document. 
Saving PDF documents
The Assembler service provides several options for saving PDF documents. 
Note:The term save in this discussion does not mean actually saving a file to disk. It means that the result 
stream is structured in such a way that it can be saved as a PDF file.
The PDF result element’s save attribute specifies the save options:
Incremental: Performs an incremental save. This means that changes to the document are placed at 
the end of the file, and the bytes corresponding to the original file are unchanged. Use this option to 
maximize the speed of the save operation and to preserve certifying signatures (certification) and 
reader enabled rights. 
If unspecified, the default is to save incrementally.
Incremental saves are relative to the base document (see “About base documents” on page30
). That is, 
the bytes in the result stream begin with the original bytes of the base document, followed by updates. 
Logical name
Data streams
intro
stream_1 
Chapters
stream_2, stream_3, stream_4, stream_5 
Appendices
stream_6, stream_7 
index
stream_8 
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Create fillable and editable PDF documents from Excel in both .NET WinForms and ASP.NET. Create searchable and scanned PDF files from Excel. Convert to PDF with
convert pdf picture to text; convert pdf to plain text
VB.NET Image: Barcode Generator to Add UPC-A to Image, TIFF, PDF &
Generated UPC-A barcode can be scanned by common REFile.SaveDocumentFile(doc, "c:/upc-a.pdf", New PDFEncoder()). Word document is the most editable format for
convert pdf to text open source; batch convert pdf to txt
AdobeLiveCycleES4
Assembling PDF Documents
Assembler Service and DDX Reference
Saving PDF documents     36
As a result, an incrementally saved document is always larger than the original, even if pages were 
removed. The removed pages are retained in the PDF document.
Full: Performs a full save, which means that the file is restructured so that duplicate and obsolete 
information is removed. This results in a smaller file size than when doing an incremental save. Use this 
option to minimize the size of the resultant PDF file.
Note:Typically, an incremental save takes less time to perform than a full save. However, when 
deleting pages from a document (by specifying page ranges), there is not a significant 
performance difference in the current version of the Assembler service.
Because the bytes corresponding to the original base document are not preserved, all digital 
signatures in the document are invalidated. Such invalidated signatures include signatures for 
certification and rights enabled for AdobeReader®,
FastWebView: Restructures the file so that it is optimized for viewing on the web. This optimization 
(called linearization in the PDF Reference guide) allows individual pages to be loaded quickly, without 
the need to read the entire file. Use this option to minimize the size of the resultant PDF file; 
FastWebView results in the smallest file sizes.
This type of optimization is considered a full save because incremental updates are incorporated into 
the file when it is restructured. As with Full, all digital signatures in the document, including those 
applying to certification and rights enabled for AdobeReader, are invalidated. 
When the value of save is unspecified, the Assembler service follows this behavior:
If the PDF version is 1.4 or later, an incremental save is performed.
If the PDF version is less than 1.4, a full save is performed.
37
4
Modifying Acrobat and XML Forms
PDF documents can have interactive form fields that are used to collect data from a user. These form fields 
include elements such as text boxes, radio buttons, and lists. Collectively, the form fields are called the 
document’s form. PDF documents can have two types of forms:
Traditional Acrobat forms.
Forms based on the XML Forms Architecture (XFA) that are created in AdobeLiveCycleDesignerES4. 
XFA forms have two varieties:
Static XFA forms have a fixed layout of the form fields.
Dynamic XFA forms can have a variable arrangement of form fields and a variable number of pages 
depending on the data that is provided.
There are restrictions on the operations the Assembler service can perform depending on the presence of 
forms. Documents containing Acrobat forms have the fewest restrictions, and dynamic XFA forms have the 
most restrictions. See “Restrictions on documents containing forms” on page38
for details.
To avoid these restrictions, you can flatten form fields in your source documents, as described in the next 
section.
Flattening forms
Flattening means that form fields retain their graphical appearance but are no longer interactive. For 
example, a check box still appears as a rectangle, but the user cannot click it to indicate a selection. In 
addition, scripts associated with the fields no longer function.
To flatten all form fields for Acrobat forms or XFA-based forms, use the NoForms element as a child of a 
PDF or PDFGroup element. The flattening is performed for the specified scope. Flattening is useful, for 
example, if you want to assemble documents that contain XFA forms. If a non-base document contains 
XFA-based forms, an error is thrown when that document is aggregated with other documents. To avoid 
such an error, use the NoForms element to flatten all forms in the document. Alternatively, use the NoXFA 
element to flatten all XFA-based forms in the document. The properties in the 
XFAConversionSettings element specify how XFA-based forms are flattened. (See “Assemble 
XFA-based forms with other documents” on page44
and “XFAConversionSettings” on page305
.) 
Note:If the PDF document is a dynamic XML form template (XFA form) and the flatten attribute is true
the Assembler service uses the Output service to flatten the form. If that service is unavailable, an 
exception is thrown.
The Assembler service itself flattens static XML forms and Acrobat forms.
In this example, any form fields in doc3.pdf are flattened. If doc2.pdf contains an Acrobat or XFA form, it is 
retained.
Example:Flattening forms
<PDF result="doc1.pdf">
<PDF source="doc2.pdf"/>
<PDF source="doc3.pdf" >
LiveCycle ES Assembler
Modifying Acrobat and XML Forms
Assembler Service and DDX Reference
Restrictions on documents containing forms     38
<NoForms/>
</PDF>
</PDF>
To flatten only XFA forms, you use the NoXFA element as a child of a PDF or PDFGroup element. If the 
documents in the scope of the NoXFA element do not have XFA forms, they are not modified.
The following example flattens XFA form fields in doc2.pdf and assembles doc2.pdf with doc1.pdf. The 
resultant document is returned through the doc3.pdf output map.
Example:Flattening XFA forms
<PDF result="doc3.pdf">
<PDF source="doc1.pdf"/>
<PDF source="doc2.pdf">
<NoXFA/>
</PDF>
</PDF>
When the base document is an XFA form, you have the option of saving the result document in XDP format 
instead of PDF. XDP is an XML format that can contain PDF data as well as form data. To save a document as 
XDP, you set the format attribute to XDP as in this example.
Example:Saving an XFA form as XDP
<PDF result="doc3.pdf" format="XDP">
<PDF source="doc1.pdf"/> <!--Base document; must be XFA form-->
<PDF source="doc2.pdf"/>
</PDF>
Note:Flattening form fields can have side effects. Consider a document that contains JavaScript code that 
runs when the document is opened. If the JavaScript references a specific form field and forms have 
been flattened, an error occurs. 
See also 
Create a Flat PDF
“Creating and Modifying Acrobat and XML (XFA) Forms” on page40
Restrictions on documents containing forms
There are restrictions that apply to documents that contain forms. These restrictions do apply when the 
forms are flattened by using the NoXFA or NoForms elements.
Acrobat forms
When you assemble multiple documents that contain only Acrobat forms, the Assembler service retains all 
form fields by default. In general, there are no restrictions on the operations that the Assembler service can 
perform on documents containing Acrobat forms. However, if a document contains signature fields, 
certain operations invalidate the signatures. (See “Digital signatures” on page133
.)
LiveCycle ES Assembler
Modifying Acrobat and XML Forms
Assembler Service and DDX Reference
XFA-based forms     39
XFA-based forms
You can assemble a PDF document containing a static XFA-based form with other documents if these 
conditions are satisfied:
PDF document containing the form is the base document 
Form is static XFA. A dynamic XFA document cannot be assembled with any other documents. 
None of the other PDF documents can contain XFA forms. (They can contain Acrobat forms.)
If any of these conditions are violated, an exception is thrown. 
You can assemble multiple XFA-based forms into a single form, export the result as a PDF document, and 
then assemble that PDF document with other PDF documents. (See “Package an XDP document as PDF” 
on page43
.)
In addition to assembly restrictions, static XFA documents also have these restrictions:
You can disassemble a static XFA document, but the result documents are not XFA documents.
Using the PageOverlay or PageUnderlay elements throws an exception.
Attempting to change the page size or rotation of a document or to transform the page contents 
throws an exception.
For unflattened dynamic XFA documents, no operations are permitted that modify the document, add 
content, change page properties, or the initial view. The following operations are permitted with dynamic 
XFA documents:
Query operations
Export operations (for example, exporting bookmarks, links, and annotations).
Specifying encryption
Removal of certification or usage rights
Saving as XDP
Disassembly (but the result documents are not XFA documents)
40
5
Creating and Modifying Acrobat and XML (XFA) 
Forms
You can use the Assembler service to dynamically assemble multiple XDP documents into a single XDP 
document or into a PDF document. For source XDP files that include insertion points, you can specify the 
fragments or entire forms to insert at the insertion point. 
Here are some of the ways you can assemble XDP documents:
“Assemble a simple XDP document” on page40
“Dynamically insert forms or form fragments into an XFA form” on page41
“Package an XDP document as PDF” on page43
“Package a PDF document as XDP” on page46
See also
Guidelines for Dynamically Assembling Customized Forms and Documents
Assemble a simple XDP document
The following illustration shows three source XDP documents being assembled into a single resultant XDP 
document. The resultant XDP document contains the three source XDP documents and the data for the 
base XDP document. The resultant document obtains basic attributes from the base document. The base 
document is the XDP source that includes a baseDocument="true" attribute or the first source XDP 
document. 
Here is a DDX expression that produces the result illustrated above.
<DDX xmlns="http://ns.adobe.com/DDX/1.0/">
<XDP result="MyXDPResult">
<XDP source="sourceXDP1"/>
<XDP source="sourceXDP2"/>
Documents you may be interested
Documents you may be interested