asp.net pdf viewer user control : Enable thumbnail preview for pdf files application Library tool html asp.net wpf online PGCGNewsletterBook11-part606

EOM News & Views
Issue 22, Spring 2011
Page [ 111 ]
[ 111 ]
We first wrote about controlling output placement via DDA in the June 2008 Newsletter.  The concept was that using a User
defined variable (i.e. Yoffset), adjusted per output line, allows for variable spacing.  We can take this concept a few steps further
by dynamically inserting forms, drawing lines, and crossing pages with data.
For demonstration purposes, lets assume that we have a data file where groups of lines of data make up a single statement or
a particularly good point to start on a new page.  Each data file line has a prefix that uniquely identifies that type of line and
the record layout.  For example:
DHC      Half Cents
CBust Left         1793 1793
IHC 1793 D    MS-69          Almost perfect specimen
IHC 1793 D    MS-60          Significant scratch on reverse
CLiberty Cap        1794 1797
IHC 1794 S    MS-64
IHC 1796 S    MS-66          Abrasion on face
IHC 1797 S    MS-64
IHC 1797 S    MS-61          Heavy marks on Reverse
CDraped Bust       1800 1808
IHC 1800 D    MS-69
. . .
DLC      Large Cents
CChain Type        1793 1793
ILC 1793 D    MS-69
ILC 1793 D    MS-60
. . .
***
The goal is to parse the incoming lines of data, start a new page whenever we come across a new coin denomination, put a
header ¤form¤ for each new category, keep count of the number of categories and coins, and finally end the statement with the
category and coin counts.  The general flow of the DDA is:
DDA Feature
(you may not know about)
ç  Start of new coin denomination
ç  New category within the denomination
ç  Coin in inventory
ç  New category within the denomination
ç  New category within the denomination
ç  Start of new coin denomination
ç  New category within the denomination
ç  End of file
- Parse the incoming record
- Identify the record type
- Set user defined variables to be used when printing that data
- If it is a new denomination then finish up the current statement
- If there is room on the page print trailer form and counts
- Start new statement, print header form & denomination data
- If it is a new category, then finish up the current category
- If there is room, print the header form & category information
- Print the data record
- Check if there is enough room on the page to print, then print that record type data
Enable thumbnail preview for pdf files - Draw thumbnail images for PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Thumbnail Generation with Various Options for Quick PDF Navigation
create pdf thumbnail image; pdf thumbnail html
Enable thumbnail preview for pdf files - 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
view pdf thumbnails in; pdf thumbnail generator
EOM News & Views
Issue 22, Spring 2011
Page [ 112 ]
[ 112 ]
DDA Feature continued...
What may not be obvious from the example output is that there are 3 metafiles in use:  the full page form, the ¤header¤ form,
and the ¤trailer¤ form.  The header and trailer form float on the page, depending on the data.  Before using the forms though,
the DDA has to verify that there is enough space - or finish up the current page and then move to the next page.  Similarly,
there has to be enough space before printing the inventory record (I), if not then the DDA has to finish the current page and
then move to the next page.
The dynamic placement is now more than just adding an increment for each line printed - we have to account for the header
& trailer metafile, spacing after each metafile use, and drawing the lines in the table.  This example could get a lot more
complicated and probably should be refined a bit before going into production, but it does give you one way to handle variable
data.  Note that many of the lengths and spacing values have been tweaked to make the output look a little better.  In general
you should be able to measure the header/trailer forms as well as the line data to have exact values.
All of the forms, EOM configuration, and example output are available via the links below.
Example Output
EOM 9.0 Config
Electronic forms
Example Data
Danger: Configuration Conversion Utility: Initialization
We normally do not lead people down a path of destruction, but in this case there is a slight chance that knowing about this
tool can save you a headache.   The Configuration Conversion utility (Start / Programs / Unisys EOM x.x / Tools group) has
been around since EOM 7.0 was released.  It is primarily used when manually converting old EOM configuration files to the
most recent version.
The Initialization tab allows you initialize all or selected EOM configuration and data files. We have used in in the past when a
remote host flooded the EOM system with files.  We brought the EOM service down, ran the Conversion Utility, went to the
Initialization tab and selected “¤Jobs: Print Jobs¤ and then selected the ¤Initialize¤ button.   BE VERY CAREFUL - this utility can
also initialize configuration files.
DocImage SDK for .NET: Document Imaging Features
Flexible document file navigation with thumbnail preview support High TIFF and Dicom, to TIFF and PDF file formats PNG, JPEG, BMP, and GIF Enable to render and
disable pdf thumbnails; enable pdf thumbnails
C# TIFF: TIFF Editor SDK to Read & Manipulate TIFF File Using C#.
Easy to generate image thumbnail or preview for Tiff Enable to add XImage.OCR for .NET into C# Tiff imaging application for characters recognition and
pdf first page thumbnail; cannot view pdf thumbnails in
EOM News & Views
Issue 22, Spring 2011
Page [ 113 ]
[ 113 ]
PDF creation software
A lot has been going on in the 3rd party PDF world in recent years.  What follows is a quick summary, leading to the slightly
biased view that the Amyuni PDF Converter software is the best fit for EOM at the moment.
This software used to be our favorite: it was easy to install, created PDF files quickly, created compact PDF files, and allowed
for multiple PDF printers.  Multiple EOM-related issues have popped up since Dane Prairie released Win2PDF version 7.  Version
7 added multiple features, most not of any use with EOM.  A notable change that impacted use with EOM was the character
positioning within the PDF file.  It appears that each character is individually positioned now.  So, the PDF files got a little
bigger and it takes longer to compose the PDF file.  There were also new-release issues, so you MUST download and install
the most recent update (pre-release version 7.0.36) as of this date. A couple of obvious symptoms include: EOM cannot create
large PDF files (in thousands of pages) without hanging in post-processing
and it takes significantly longer to do text searching in
large PDFs (the most recent WIN2PDF update can be downloaded from
).  One customer recently reported that the new PDF files could
not be digested by the Monarch product, we are not sure of the reason as yet.  Note that versions prior to version 7 still work well.
The Adobe software works with EOM, but they clearly state that using it from a service is not supported. We do have
customers using Adobe without incident.  We have also run into a major problem when trying to use Adobe 9.0 to create
PDF files with EOM. A new, hidden window is created by Adobe 9.0 that EOM does not ignore.  The only workaround is to
run EOM as a Desktop Application (see PGCG Newsletter June 2009).
This software is our new favorite.  It is easy to install, creates PDF files quickly, creates compact PDF files.  Advertising from
Amyuni states that their benchmark tests show significantly better speed and PDF size compared to other providers.  The
desktop version does
allow multiple PDF printers unless you purchase multiple licenses.  A couple of notes:
1) From an astute customer: after installing Amyuni, go into the Amyuni PDF Converter printer and change both the General
and Advanced tab Printing Preferences/Defaults as follows:  ¤Paper Settings¤ tab and change the Physical Margins from 0.2 to
0.0; Resolution from 600 DPI to 300 DPI.
2) Graeme Want of Want I.T. Found multiple problems with the Amyuni product in 2008, but it appears that those problems
have been resolved.
3) One customer reported that after installing Amyuni, printing with EOM and then installing the license code it took a restart
of EOM to get rid of the ¤Evaluation version¤ message on the PDF pages.
As always, let us know if you have additional observations, suggestions, or run into issues!
C# Word - Paragraph Processing in C#.NET
C#.NET Word document paragraph processing Interface control (XDoc.Word).//More TODO is a tool which enable users to process paragraph on a new document by
show pdf thumbnail in; create pdf thumbnails
C# Excel - Excel Page Processing Overview
Merging or splitting Excel files will not be difficult with this Excel SDK. Enable you to merge two or more Excel documents to form a combined one in C#.NET
pdf no thumbnail; how to create a thumbnail of a pdf document
EOM News & Views
Issue 22, Spring 2011
Page [ 114 ]
[ 114 ]
Highly skilled,  creative, solution  provider
focused on the Unisys Enterprise Output
Manager  product  (formerly  known  as
DEPCON) with a sense of urgency sums up
who we are and what we do.  We provide
general  Enterprise  Output  Manager
consulting, 
migrations, 
upgrades,
configuration,  training,  and  custom
programming.
On-site  services,  remote  services,  and
general consulting are available now.
Why use PGCG?  Deep knowledge of the
EOM product integrated into a variety of
customer  environments sets us apart.   Our
customer’s production environment depends
on solid, working solutions that we provide.
Who are we?
Remember to order the EOM Secure E-mail
feature separately (at no cost) if you want
to sign and/or encrypt outbound E-mail
Jobs.
Another reminder... The 3rd party F3 forms
design tool is no longer supported nor is
there an easy way to convert .F3F form files
(see November 08 Newsletter for details).
The current thought is to redraw the forms
using Microsoft Word, Microsoft Publisher,
or other 3rd party forms design tool (like
Serif PagePlus).
Write
 brief  description  and  send  it  to
SteveD@PrettyGoodConsultingGroup.com for
future newsletter discussion.
Quick Hits
A customer reported that their EOM 6R1
software did not pass a recent audit.  Not only was it no longer supported, but neither was the operating
system they were running it on.  Enough said.
Another reason to upgrade.
Pretty Good Consulting Group, LLC
4235 Ivy Court
Lake Elmo, MN  55042
www.prettygoodconsultinggroup.com
C# Word - Word Conversion in C#.NET
In addition to Conversion of Word to PDF, RasterEdge XDoc.Word conversion control enable users to convert PDF to Word with C# sample code.
pdf thumbnails in; show pdf thumbnails
newsletter
EOM News and Views
Issue 23, Summer 2011
Print from Win Apps .. 1
DDA Tip............................................1
Sending SMS msgs .......3
PDF Creation #2 ..................4
Quick Hits.......................................5
Contact information ........5
PGCG
Pretty Good Consulting Group
Got a problem?  We create solutions.
If you have been reading this newsletter
for a while, then you know that there are
multiple ways to ¤feed¤ EOM from Win-
dows applications. A quick refresher on
how Windows applications can submit data
to EOM:
Ÿ Drop files into directories that EOM
monitors (local or on a network)
Ÿ ¤Print¤ to a Windows printer that is
configured to send to EOM via TCP
(LPD/LPR or Raw)
Ÿ Use the COM or .Net API program-
matic interfaces
Ÿ Microsoft Message Queuing (MSMQ)
Ÿ HTTP post (see Fall 2009 Newslet-
ter)
Ÿ Your program opens a TCP connec-
tion to EOM (Raw, or LPD if your
program handles the protocol).
So how do you decide which method to
use?  In most cases the question be-
comes ¤What options are available and
which is easiest to use?¤.  If you wrote
the application, then any of the options
above could work, if not then usually
having the application write to a directory
or ¤printing¤ are typical options and
sometimes the most expedient.  For
example, the gurus at the Building Indus-
try Bargaining Council in Cape Town were
able to use Windows BIS to create an
output file format, write the file to a
directory (with an unique naming conven-
tion), create an electronic form, define a
Directory Monitor attribute, Print Attribute
and Data Dependent Attribute and produce
a PDF output in less than 2 hours - and
they were new to EOM.
Sometimes it isn®t practical to write a file,
so the next usual choice is to ¤print¤ to a
Windows printer that ¤points¤ at EOM.
The Windows printer is defined using a
TCP port (LPR or not) with the remote IP
address of the PC/server EOM runs on -
even if it is the same PC/server as the
application.  The application prints to the
Windows printer, the Windows printer
sends the print stream to EOM.
(continued on next page)
Printing from Windows applications
DDA Tip:  What should a DDA look like?
The structure of the DDA depends on multiple variables like input data and output
formatting. The following is a structure that has worked for many customers and is
maintainable for future changes.  We will consider an easy case where all data for a page
(or set of pages) is on a single line.  This general format breaks the DDA commands into
callable DDA Items and one DDA item to handle the input data:
to set up any global variables and initial values
to put the $CurrentData data into unique variables for later use
to modify the variables set in ParseData, usually formatting strings
to output the data, form, graphics and so on to the page(s)
to process the input file, calling the DDA Items listed above
Note that LineData is the only DDA item enabled for data identification.  This DDA items
uses a simple technique of checking if a global variable is not defined, then call the
InitializeDDA DDA item to do so - hence, it happens only once, when the first record of
the input file is processed.  It calls the other DDA items for each record. Example DDA
EOM News & Views
Issue 23, Summer 2011
Page [ 116 ]
[ 116 ]
Most Windows applications have some mechanism to print.  Now the question is ¤What does the printed data look like?¤ If the appli-
cation writes complicated (or ¤pretty¤) output including font changes, graphics, and such then the Windows printer usually has to be
configured with a driver capable of outputting that print format. EOM will recognize the print stream as
¤P
assthru
¤
because it is
composed into a printer definition language (PCL, Postscript,...) and just route the stream without DDA modification.
In most cases when sending print streams to EOM the Windows printer is defined with the Generic / Text Only driver.   We want to
use EOM as the print engine (i.e. use DDA) so it needs to receive text.  The application writes simple text to the Windows printer,
the Windows printer sends the print stream to EOM where the Print Attribute and DDA configurations can then manipulate the print
stream.
Great - except that there may be issues if you are trying to use the EOM embedded email sequences.  These sequences require the
escape character (ASCII hex 1B), which MAY be replaced by the Windows Generic / Text Only driver before delivery to EOM.  George
McGowan of McGowan Computer Associates, Inc., with help from Andrew Champion, Thomasville Utilities, found that EAE wrote the
sequences properly using standard EAE print commands but the escape characters where replaced with a period as the Windows printer
delivered the print stream to EOM. So, he changed the type of printer used via EAE (an LPR printer instead) and that sent the data as
is.
Notes - Replacing the escape character with a printable character can be avoided if the application uses the Windows API Escape()
function to print, as long as the printer driver defined on the Windows printer supports
¤passthrough printer escape¤ (which the
Generic / Text only driver does).
George had a few notes for EAE users:
Printing from Windows applications continued...
1. In EAE Development create a report with a default device of DI - Direct or TP - Terminal Printer
2. In the CODE of the report
MV; (EMAIL)                   GLB.STN        ROC Alias could be ANYTHING
MV: (TP)                      GLB.DEVICE
For escape character use @27@
Set up your EA     - Address(ees)
EX=TXT - Attachment extension (or use ED for full display name)
ES     - The email Subject
EE     - Error notification email address
EF     - From address to be displayed in received email
MV; (EMAIL)             GLB.STN
MV; (TP)                GLB.DEVICE
MV; (@27@60@27@S   DC-EA=)                            F30ADDR
ATT; POHD.EMAIL                                         F30ADDR
MV; (@27@60@27@S   DC-EX=TXT)                         F30FILEEXT
MV; (@27@60@27@S   DC-ES=)                            F30SUBJECT
MV; (@27@60@27@S   DC-EE=)                            F30EERR
MV; (@27@60@27@S   DC-EF=)                            F30EFROM
(this example uses UserTags to pass additional information)
MV; ($DEPHDR$)                                         F30DEPCON
ATS; (PURCHASE ORDER)                                  F30DEPCON :EOM USERTAG1 and USERTAG2
ATS; SD-CONBR                                          F30DEPCON  :EOM USERTAG3
ATS; SD-PONBR                                          F30DEPCON  :EOM USERTAG4
4. ROC define alias by going to AL screen
EMAIL
Defintion LINCLP -S<SERVERNAME of EOM> -P<printer/device set up in EOM> -d
The report runs - directs the OUTPUT to TP which will use the Windows LPR command to send output to EOM.
The report finds the ROC ALIAS (EMAIL) looks at the definition LINCLP is converted to LPR sends the output to EOM Server (this must be EOM Server) and
the device within EOM -P in the defintion of the ALIAS.
ALL of the above are required to insure the output is sent from the report to LPR, to device in EOM, and finally email to appropriate person.
EOM News & Views
Issue 23, Summer 2011
Page [ 117 ]
[ 117 ]
Sending SMS messages with EOM
. You have
probably used the EOM email capability to send reports, parts of reports, and possibly even simple messages to notify the
recipient that some event occurred.  You can also use that same mechanism to send SMS text messages.  Most cell phone
carriers provide an SMS gateway, which means you send the gateway a properly formatted email and it sends out the SMS
message.
The ¤properly formatted email¤ is usually an address consisting of cell phone number to receive the SMS message followed by
the provider address (i.e. "5551234567@txt.att.net") and text in the email subject and/or body.  So, you configure an Email
Attribute in EOM with a static email address or you can send the email address via the data stream received by EOM.
There are many resources on the web to find your carrier®s information, a great start is the Wikipedia page ¤List of SMS
Gateways¤ (http://en.wikipedia.org/wiki/List_of_SMS_gateways).
Email Attribute SendSMS1
5551239876@tmomail.net
   EOMSMSNotification@ProdEOM.com
 *** Monthly payroll data has been received by EOM ***
EOM News & Views
Issue 23, Summer 2011
Page [ 118 ]
[ 118 ]
PDF creation software - Take two
Last newsletter we briefly described 3 different 3rd party PDF solutions for EOM, boldly stating that the software from Amyuni
was our favorite at this time.  Well, we ran into a few problems at a recent customer site visit...
It turns out that if you are running the Amyuni software on a Windows server operating system (2003, 2008) you cannot use
the desktop PDF Creator software.  The licensing requires that you purchase the PDF Converter Single Application Server license
($689.00 as of this article).  This software allows one application (i.e. EOM) to create PDF files.  Getting the PDF Converter
Single Application Server software installed and configured required a few steps on a Windows 2008 64-bit server, thanks to
Kevin Cole from the State of North Dakota and the Amyuni Tech Support team to get this worked out:
1. Order and download the PDF Converter Single Application Server software (do not install yet). You will be required to
submit an application name to be used with this license (¤EomService.exe¤)
2. You will receive an email from Amyuni confirming your order and string values for ¤License to¤ and ¤Activation code¤.
3. The download in our case was a ZIP file.  You must unzip this file into a directory that is to remain on the server
(read: do not delete the directory after the installation is done).
4. Verify that the login used to run the EOM service has access rights to the directory.  You may need to add the usercode
to the file access privileges for that directory.
5. Open the install.ini file found in the directory, provide an appropriate printer name for the ¤PrinterName¤ property, copy
the ¤License¤ to¤ value into the ¤Licensee¤ property, copy the ¤Activation code¤ value from the email into the ¤LicCode¤
property.
6. Execute the install.exe program from the directory.  You will be presented with a simple status of the install.
7. Verify  that  the  login  used  to  run  the  EOM  service  has  full  control  rights  to  the  Windows  Registry
HKEY_CURRENT_CONFIG / Software / <Printer name> entry.  Apparently the PDF driver accesses these registry settings
when executing.
8. Run the ¤config.vbs¤ script from a command prompt, using administrator privileges.
Ÿ For 64-bit servers the command line is: C:\Your_Amyuni_Folder_Location>c:\windows\syswow64\cscript.exe config.vbs
Ÿ For 32-bit servers the command line is: C:\Your_Amyuni_Folder_Location>c:\windows\system32\wscript.exe config.vbs
9. The printer name can now be found in the Windows Devices & Printers.  Make sure you modify the properties of this
printer to set the margin to 0.0 inches and 300 DPI.  Under Control Panel / Printers and Faxes. Select the printer,
then right-click and select Properties.  On the General tab select the Printing Preferences... button, then select the Paper
Settings tab to change the two parameters.  Next, select Ok, select the Advanced tab, Printing Defaults... Button then
select the Paper Settings tab to change the two parameters.
10. Finally, you do the EOM configuration steps to define the PDF printer in the EOM Configuration Explorer, Physical
Printers.  Note - you may need to stop and then start the EOM service to get the Amyuni printers to function (first
try to print).
This may look like a lot of manual steps ... you are correct.  However, once installed the PDF files are created quickly and
appear to be very efficient.  Now the really good news - this license allows you to create multiple PDF printers that EOM can
print to simultaneously.  This is useful if you are creating a lot of PDF files or have large PDF output files that keep smaller
PDF files waiting.  To create additional PDF printers, get to the Amyuni directory, using Administrator privileges, run the
install.exe with a new printer name, as in ¤install.exe PDFPrinterName2¤.  Then, define the printer to EOM and likely create a
Logical Printer in EOM to flow control across the PDF printers.
EOM News & Views
Issue 23, Summer 2011
Page [ 119 ]
[ 119 ]
Highly skilled,  creative, solution  provider
focused on the Unisys Enterprise Output
Manager  product  (formerly  known  as
DEPCON) with a sense of urgency sums up
who we are and what we do.  We provide
general  Enterprise  Output  Manager
consulting, 
migrations, 
upgrades,
configuration,  training,  and  custom
programming.
On-site  services,  remote  services,  and
general consulting are available now.
Why use PGCG?  Deep knowledge of the
EOM product integrated into a variety of
customer  environments sets us apart.   Our
customer’s production environment depends
on solid, working solutions that we provide.
Who are we?
The  last  Newsletter  noted  that  EOM
supported 
SSL/TLS 
communication
connections, but failed to note that these
connections  are  supported  from  the
ClearPath MCP system too. See section 2.1.6
of the EOM for ClearPath Config & Ops
guide 
LOCALSSLSOCKETDEF,
RemoteSSLSOCKEDEF and SSL option on
PrintS device.
Wow. We were pleasantly surprised when an
astute Unisys watcher brought a YouTube
video to our attention.  The video does a
great job of defining what EOM is and what
it does.  Kudos to Unisys Marketing for
making it happen.  View the video vialink
.
DDA gurus - The $CurrentYCoordinate value
is set after a PrintData command, but be
careful: The values returned when using
Print  Preview  are  not  accurate.    The
workaround is to print to TIF, PDF, or real
printer to get the correct coordinate values.
Need a really good editor?  There are many
to choose from, one we like is Notepad++.
There are numerous plugins available, one
of particular interest is the Hex editor.  This
editor displays the carriage return, linefeed,
and formfeed characters - makes counting
lines for DDA consumption MUCH easier.
Write
 brief  description  and  send  it  to
SteveD@PrettyGoodConsultingGroup.com for
future newsletter discussion.
Quick Hits
Both the EOM Basic and Advanced Workshops have been
scheduled.   The EOM Basic Workshop, starting September 13th, spans 4 days of 4-hours per day of
remote training.  The EOM Advanced Workshop, starting October 3rd, spans 5 days of 4-hours per day
remote training.  On-site classes can also be arranged via Unisys Customer Education (800-222-0966 or
email at UnisysCustomerEducation@Unisys.com).
Training is available
Pretty Good Consulting Group, LLC
4235 Ivy Court
Lake Elmo, MN  55042
www.prettygoodconsultinggroup.com
newsletter
EOM News and Views
Issue 24, Fall 2011
Compose & Xfer ..................1
DDA Tip............................................1
Interfaces .......................................3
Quick Hits.......................................7
Contact information ........7
PGCG
Pretty Good Consulting Group
Got a problem?  We create solutions.
We have been working with an EOM
customer that has over 1,500 remote
printers defined in EOM as type TCP.
They have set up a very nice way to take
advantage of Windows printer features
while still printing to TCP printers.  By
the way, it is possible to define all 1,500
of those printers to the Windows Print
Manager, but it sounds like a painful
endeavor.
What this customer did was define a
single Windows printer in EOM, setting
the ¤Print Output file option¤ to ¤Print to
file¤ and the ¤Action to perform¤ to ¤Apply
to File Masks¤.  A File Mask identifies the
original file and then ¤prints¤ to the
Windows printer.  EOM writes a composed
print stream to a file and then runs the
file back through the File Masking process.
Note that the driver defined on the
Windows Print Manager printer composes
the print stream - so if the printer is
defined with a PCL driver then the print
stream is PCL, if it is defined with
PostScript then the print stream is Post-
Script, and so on. Also note that the
second File Mask used to identify the
loopback composed file might include a
File Mask, File Selection Criteria of ¤Trans-
port Type equal to Loopback¤ to help
identify the returned file.
When the composed file is returned, the
File Mask can either use a Transfer Job to
the remote printer IP address, or a Print
Job to the TCP defined EOM printer.  In
both cases the composed file will be
recognized as a Passthru file, but if it
makes you feel better you can set the
loopback File Mask File Type to ¤Passthru¤.
The Print Attribute used for the Print Job
really does not do much because the file
is Passthru.
One of the cool aspects of this approach
is that most of the File Mask criteria
values are identical between the files (not
Transport Type as noted previously).
Thus, the File Masking logic is still based
Using Windows to compose, TCP printer to send
Documents you may be interested
Documents you may be interested