asp.net pdf viewer devexpress : .Pdf printing in thumbnail size SDK control service wpf web page winforms dnn ICEpdf_developers_guide_4.x.x4-part1928

Document generated by Confluence on Mar 08, 2013 21:48
Page 41
}
The code iterates through all the pages in the document and gets an image rendering of each page which
is then written to a file. The last step is to free up the resources used by the Document class during the
rendering process by calling the 
dispose()
method.
document.dispose();
You now have a simple class that can save PDF page captures to disk.
.Pdf printing in thumbnail size - SDK control service:C# PDF Thumbnail Create SDK: Draw thumbnail images for PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Thumbnail Generation with Various Options for Quick PDF Navigation
www.rasteredge.com
.Pdf printing in thumbnail size - SDK control service:VB.NET PDF Thumbnail Create SDK: Draw thumbnail images for PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Thumbnail Generation with Various Options for Quick PDF Navigation
www.rasteredge.com
Document generated by Confluence on Mar 08, 2013 21:48
Page 42
Extracting PDF Document Content
This page last changed on Dec 10, 2009 by ken.fyten.
The Document class can allow alternate access to the content in a PDF document. It is possible to extract
document meta-data, text, and images.
Extracting Meta-Data
ICEpdf supports extracting document meta-data via the API that is available on the document hierarchy
classes in the 
org.icepdf.core.pobjects
package. The main entry-point into the document meta-data
is the Document class.
See Content Extraction Examples
for an example that illustrates extracting meta-data from a
document.
Also, see the API documentation for the 
org.icepdf.core.pobjects
package for more information on
what types of data are available.
SDK control service:Create Thumbnail Winforms | Online Tutorials
For information about saving & printing images in Create Thumbnail; Generate Barcodes on Your Documents; Read Processing; RasterEdge OCR Engine; PDF Reading; Encode
www.rasteredge.com
SDK control service:VB.NET Image: Visual Basic .NET Guide to Draw Text on Image in .
can adjust the text font, font size, font type System.IO Imports System.Drawing.Printing Imports RasterEdge & profession imaging controls, PDF document, image
www.rasteredge.com
Document generated by Confluence on Mar 08, 2013 21:48
Page 43
Extracting Text
This page last changed on Jan 27, 2010 by patrick.corless.
Text extraction is possible for most PDF documents. There are, however, some limitations with how a
document text is encoded and the type of font used to render the text.
Note
If a document is encrypted, the document permissions should be checked to make sure
that content extraction is allowed.
The following code demonstrates how to extract text from the first page of a PDF document.  The call to
document.getPageText(..) returns the PageText data structure which contains child LineText, WordText
and GlyphText.  A call to pageText.toString() will return all the text for the current page.
// load the file
URL documentURL = new URL("your url");
Document document = new Document();
document.setUrl( documentURL);
try {
// create an output file
FileOutputStream fileOutputStream = new FileOutputStream( "extracted.txt");
PageText pageText = document.getPageText(0);
if (pageText != null && pageText.getPageLines() != null) {
fileOutputStream.write(pageText.toString().getBytes());
}
fileOutputStream.close();
catch (IOException e) {
e.printStackTrace();
finally {
// clean up the document resources document.dispose();
}
SDK control service:XImage.Raster for .NET, Comprehensive .NET RasterImage SDK
resolution printing; More about Image Saving & Printing Create thumbnail directly in image. provide powerful & profession imaging controls, PDF document, image
www.rasteredge.com
SDK control service:VB.NET Image: How to Create Visual Basic .NET Windows Image Viewer
image, rotating and flipping an image, printing & saving including png, jpeg, gif, tiff, bmp, PDF, and Word You can accurately define the size and location of
www.rasteredge.com
Document generated by Confluence on Mar 08, 2013 21:48
Page 44
Extracting Images
This page last changed on Jan 27, 2010 by mark.collette.
Image extraction is possible for all PDF documents.
Note
If a document is encrypted, the document permissions should be checked to make sure
that content extraction is allowed.
The following code demonstrates how to extract images from the first page of a PDF document. The
images on the first page of the document are extracted into a vector of 
Image
objects using the
Document 
getPageImages(int pgNumber)
method. The image vector is then iterated with each image
entry being saved to disk as a separate image file.
// load the file
URL documentURL = new URL("your url");
Document document = new Document();
document.setUrl(documentURL);
// Get the images for a single page
Enumeration tmpImages = document.getPageImages(0).elements();
// Save the images as JPEGs
int count = 0;
while (tmpImages.hasMoreElements()){
Image image = (Image) tmpImages.nextElement();
// create new buffered image to paint to.
BufferedImage bufferedImage = new BufferedImage(
image.getWidth(this), image.getHeight(this), BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = bufferedImage.createGraphics();
g2d.drawImage(image, 0, 0, image.getWidth(this), image.getHeight(this), this);
RenderedImage rendImage = bufferedImage;
try {
// Save as JPEG
File file = new File("newimage_" + count + ".jpg");
ImageIO.write(rendImage, "jpg", file);
catch (IOException e) {
e.printStackTrace();
}
g2d.dispose();
bufferedImage.flush();
}
// Clean up document resources
document.dispose();
SDK control service:VB.NET Image: How to Draw Annotation on Doc Images with Image SDK
and bmp) or documents (like multi-page TIFF, Microsoft Office Word and PDF file You can freely control the annotation shapes, the outline size (width and height
www.rasteredge.com
SDK control service:VB.NET Image: VB.NET Code to Create Watermark on Images in .NET
font type "Times New Roman", size "16", and style System.IO Imports System.Drawing. Printing Imports RasterEdge & profession imaging controls, PDF document, tiff
www.rasteredge.com
Document generated by Confluence on Mar 08, 2013 21:48
Page 45
Search API
This page last changed on Feb 04, 2010 by patrick.corless.
DocumentSearchController Interface Notes
The DocumentSearchController Interface defines the functionality of search API that is designed to work
with a Page Object's PageText hierarchy. Each Page of a PDF document that contains text will have a none
Null value when a call to page.getPageText() is made. The PageText hierarchy is made up child LineText,
WordText and GlyphText. During the Page initialization process the content stream is parsed and the
PageText Object and child objects are created. The resulting structure is synonymous with normal text
processing; LineText represents a line of text and is made ups of child WordText objects for each word.
The data structure makes is possible to properly search and extract text in a contextual manner.
The DocumentSearchControllerImpl is our reference implementation for searching for text in PDF page
content streams. If a search indexing system such as Lucene is required it can easily be implemented and
tied in with ICEpdf using the DocumentSearchController interface. The Search API was designed to be
extensible and simple to use. The following sudo code shows how a typical search would be started and
executed.
1. Get instance of SearchController form the SwingController
2. Call clearAllSearchHighlight to remove previous search terms from controller.
3. Add one or more Search Terms to the SearchController
4. Execute SearchController.search to search for the specified terms
Search controllers job is quite simple, search a page or clear a page's search results and search terms.
Search terms are global to the Search controller and a set of SearchTerms will be used for subsequent
page searches. When a call to one of SearchControllers clear method is called all search terms are
removed. Working examples of the document searching can be found by using the Viewer RI (http://
www.icepdf.org/demo/jws/icepdf.jnlp
) and the Search example (
[http://wiki.icefaces.org/display/PDF/
Search+Example|../display/PDF/Search+Example]).
Search Terms
The SearchTerms class allows a user to specify what they want the search controller to search for. The
search term has three immutable instance vars to configure case sensitivity and whole word searches.
Term - string word or phrase to use as the search key.
Case-sensitive - true indicates a case sensitive search of the given term, false ignores case search
dependency when searching for the term.
Whole word - True indicates that a search match must match the search term exactly in length.
False indicates that whole word most match.
The new search API implementation allows for multiple search terms. For example, consider the following
three term search:
// clear previous search terms and highlighting
searchController.clearAllSearchHighlight();
// use the add search term call to add multiple terms
searchController.addSearchTerm(term1, isCaseSensitive, isWholeWord);
searchController.addSearchTerm(term2, isCaseSensitive, isWholeWord);
searchController.addSearchTerm(term3, isCaseSensitive, isWholeWord);
Specify the page to search, for the terms. The search results are highlighted on that page.
// Search/highlight page y, with previously specified search terms
searchController.searchHighlightPage(y);
The RI search panel is setup by default to use single term searches. The search checkbox option
"Cumulative" can be enabled to suppress, between search commands, the call to
SDK control service:C# Image: How to Draw Text on Images within Rasteredge .NET Image
such as adjusting text font size, color, style and System.IO; using System.Drawing. Printing; using RasterEdge & profession imaging controls, PDF document, tiff
www.rasteredge.com
SDK control service:VB.NET Image: How to Create New Images Using VB.NET Codes in .NET
the complete VB.NET sample codes for printing a high settings like image color and size according to powerful & profession imaging controls, PDF document, tiff
www.rasteredge.com
Document generated by Confluence on Mar 08, 2013 21:48
Page 46
searchController.clearAllSearchHighlight();
A working examples of the search API can be found in Examples
.
SDK control service:VB.NET Image: Web Image and Document Viewer Creation & Design
document pages with zero footprint and thumbnail preview support Basic project is capable of printing current image toolkit to print bitonal images, PDF, and so
www.rasteredge.com
SDK control service:VB.NET Image: Compress & Decompress Document Image; RasterEdge .
System.IO Imports System.Drawing.Printing Imports RasterEdge decompressing: reduce Word document size according to Scanned PDF encoding and decoding: compress a
www.rasteredge.com
Document generated by Confluence on Mar 08, 2013 21:48
Page 47
Annotation Creation
This page last changed on Feb 04, 2010 by patrick.corless.
Annotation Creation
Link Annotations and their respective actions can be created edited and delete from a PDF document
page. The Page Object has three new methods that allow developers to manipulate a PDF documents
annotations:
Page.addAnnotation(Annotation):Annotation
Page.createAnnotation(Rectangle, AnnotationState):Annotation
Page.deleteAnnotation(Annotation):void
Annotations are added at the document page level. The PDF specification recommends that duplicate
Annotation object are not shared between pages and that a distinct instance of each should be created
for every page.
Annotations and their child Action object must created using their respective factory classes. The factory
class insures that the new instance of these object are properly setup so that they can be property
inserted or removed from the PDF document structure and saved to file.
Annotation Factory
The Annotation factory call AnnotationFactory.buildAnnotation(..) returns a new instance of the specified
annotation type which can be inserted into the Document Page Object via the addAnnotation method.
LinkAnnotation linkAnnotation = (LinkAnnotation)
AnnotationFactory.buildAnnotation(
document.getPageTree().getLibrary(), 
AnnotationFactory.LINK_ANNOTATION,
new Rectangle(), annotationState);
Action factory
The Action factory call Annotation.buildAction(..) returns an new instance of the specified action type.
Action must be added to Annotation object in a similar way as Annotations are to pages to insure that the
Action objects are wired correctly to the document structure and their parent annotation object.
Annotation.addAction(Action):Annotation
Annotation.deleteAction(Action):void
The following code snippet is an example of creating a new Launch Action using the ActionFactory.
LaunchAction action = (LaunchAction) ActionFactory.buildAction(
library,
ActionFactory.LAUNCH_ACTION);
Annotation State
AnnotationState object is state object intended to aid in the creation of multiple page annotations that
have similar look and feel as well as to save annotation edit states within the viewer RI. AnnotationState
properties can be copied from one instance to another using the apply(AnnotationState):void method.
The following snippet shows how to construct a new annotation state.
AnnotationState annotationState = new AnnotationState(Annotation.VISIBLE_RECTANGLE,
LinkAnnotation.HIGHLIGHT_INVERT, 1f,
Document generated by Confluence on Mar 08, 2013 21:48
Page 48
BorderStyle.BORDER_STYLE_SOLID, Color.GRAY);
Using the Non-visual vs. the Visual API
Creating annotation in a headless environment can be done using Page and Annotation classes, no special
considerations need to be taken into account. However if the annotation updates are to occur though a
GUI the ICEpdf PageView objects must be made aware of any changes to the document structure.
The first step in update the UI of a new annotation or action is to get a reference to the current views
page objects with the following call which returns a list of all pages that make up the document view:
java.util.List<AbstractPageViewComponent> pageComponents =
controller.getDocumentViewController()
.getDocumentViewModel().getPageComponents();
The list of AbstractPageViewComponent is very similar to a list of a PDF documents Page Object. The
PageViewComponents are actually JComponents and contain all the interactive state logic. But adding
annotation to AbstractPageViewComponent is the same as adding new annotations to Page objects.
PaveViewComponent.pageViewComponent.addAnnotation(linkAnnotation);
PaveViewComponent.pageViewComponent.removeAnnotation(linkAnnotation);
The distinction between visual and none visual annotation creation is very important. If you use the non-
visual method in a visual environment you will not see the annotation until the document is saved and
opened. You can however use the visual method to create annotation in a non-visual environment but you
will be loading a lot of extra classes that are not needed.
The source-code for the example is located at install_dir/icepdf/examples/annotation/
NewAnnotationPostPageLoad.java.
The source-code for the example is located at install_dir/icepdf/examples/annotation/
NewAnnotationPrePageLoad.java.
Saving Document Changes
Annotation and action document changes are stored in a StateManager class. In most cases developers
will not have to modify the StateManager class directly, it was designed to be used by the Page,
PageComponent and Annotation object directly. Saving document change is quite simple:
document.saveToOutputStream(OutputStream out):long
When a file is saved all changed are appended to the PDF file as an incremental update.
Document generated by Confluence on Mar 08, 2013 21:48
Page 49
Viewer RI
This page last changed on Jan 27, 2010 by patrick.corless.
The ICEpdf Viewer is a reference implementation (RI) of a standalone PDF viewer application. You can use
it as is, or as a starting point for your own custom application.
The application uses the SwingViewBuilder object to create the GUI elements in the viewer application,
such as the toolbar and menu system. These GUI elements, including the page view, are controlled
by the SwingController object which produces a rich viewer application that can be used as is in most
implementations.
The source-code for the ICEpdf Viewer Application is located in the 
[install_dir]/icepdf/viewer/
directory.
Starting the Viewer
Using the Viewer
Document generated by Confluence on Mar 08, 2013 21:48
Page 50
Starting the Viewer
This page last changed on Jan 27, 2010 by mark.collette.
Starting the ICEpdf Viewer Application
1. Ensure that JDK 1.5.0 or higher has been installed.
2. Add the relevant JAR files to the classpath. You need at least the following:
• icepdf-core.jar
• icepdf-viewer.jar
To enable ICEpdf Pro and full PDF font support, install the following:
• icepdf-pro.jar
• icepdf-pro-intl.jar
To enable exporting to SVG, you also require the following Batik JAR files:
• batik-awt-util.jar
• batik-dom.jar
• batik-svg-dom.jar
• batik-svggen.jar
• batik-util.jar
• batik-xml.jar
For more information, see Batik Library for SVG Support
.
3. Run "
java org.icepdf.core.ri.viewer.Main 
[option <value>]
"
back to top
Starting as an Executable JAR
The 
icepdf-viewer.jar
file is an executable JAR file, so you can also start the Viewer Application with
JDK 1.5.0 or greater as follows:
java -jar icepdf-viewer.jar
back to top
Command Line Options
Option
Description
-loadfile filename
Starts the ICEpdf Viewer and displays the
specified local PDF file. Use the following syntax:
-loadfile c:/examplepath/file.pdf
-loadurl url
Starts the ICEpdf Viewer and displays the PDF file
at the specified URL. Use the following syntax:
-loadurl http://www.examplesite.com/
file.pdf
To start the ICEpdf Viewer without command line options or Batik support:
"
java -classpath icepdf-core.jar;icepdf-viewer.jar org.icepdf.ri.viewer.Main
"
back to top
Documents you may be interested
Documents you may be interested