itextsharp pdf to text c# : Sign pdf form reader Library SDK component asp.net wpf .net mvc open-2001-0650-part1583

AComparisonofUtilitiesforconvertingfromPostScriptor
PortableDocumentFormattoText
Author:NicholasRobinson
Email:Nicholas.Robinson@cern.ch
Date:31-08-2001
CERN-OPEN-2001-065
Introduction
TherearemanyavailabletoolsforconvertingPostScriptand/orPDFfilesintotextfiles. Aspartof
aprojectinvolvingtheautonomousextractionandrecognitionofcitationinformationfrom
electronicfull-textdocuments,ithasbeendecidedthatbeforetheactualextractionprocesscan
begin,itisfirstofallnecessarytoconvertthedocumentintosomesortofplaintextorHTML
format. Thisrequirementhasresultedinsomeresearchintotheavailabletools,followedby
testing. Itisthepurposeofthisreporttobrieflydetailtheresultsofthistesting,andfinallyto
recommendoneofthetoolsforuseabovetheothers.
ConversionToolsTested
Havingcarriedoutasearchfortheavailableconversiontools,Ibecameawareoftheexistenceof
thefollowingtools:
pdftotext
ps2ascii.ps
pdftohtml
pdftohtml(.bin)
pstotext
prescript
Testingwascarriedout upon each of thesetools, and the details of this testingare recorded in the
followingsections of this report.
The ‘pdftotext’Tool
Source:<http://www.foolabs.com/xpdf/>
The pdftotext tool is availablefrom theabove URL. It comes as part of a larger package called
XPDF, which isa PDF viewing and manipulationpackage for use under X-Windows. The
pdftotext tool is a commandline tool that comeswiththe XPDF package. The tool pdftohtml, also
discussedinthis report is baseduponthe pdftotext tool.
CERN-OPEN-2001-065
31/08/2001
Sign pdf form reader - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
edit pdf form in reader; extracting data from pdf forms to excel
Sign pdf form reader - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
extract data from pdf form to excel; extract data from pdf file
Installing pdftotext
Inorder to obtain the pdftotext tool it is necessary to download the entire XPDF package. This
package comes inthe form of a zipped".tar" file, which contains all of the source codefor the
XPDF applications. Under UNIX, it is fairlyeasy to build the packagefrom the source with the
“make”command.
Using pdftotext
The pdftotext tool is invokedfrom thecommand line, andprovides the followingusage
information:
Usage: pdftotext [options] <PDF-file> [<text-file>]
-f <int>
: first page to convert
-l <int>
: last page to convert
-ascii7
: convert to 7-bit ASCII (default is 8-bit ISO Latin-1)
-raw
: keep strings in content stream order
-q
: don't print any messages or errors
-h
: print usage information
-help
: print usage information
It can be seen from the above usage information, that there are 4options with which the tool canbe
used. One can specifythe rangeof pages to convert, andalsothe encodingof the output text (7-bit
ASCII or 8-bit ISO Latin-1). It is also possible to run the tool in "quiet" mode usingthe"-q" flag,
hence suppressingany error messages that would otherwise bedisplayed.
When the tool was tested for this report,it was invokedinthe followingway:
«
pdftotext -raw -q [PDF Filename] -
»
This kept strings inthecontent streamorder, allowedany warnings to besuppressed,and also
allowed the output of the tool to be printed to the STDOUT file, hence avoidingthe intermediate
step of makinga text file.
When usingthis tool, I found it to operatefairly quickly. Of all of the PDF totext conversion tools
tested bymyself,this operatedthe fastest. For example, in order to convert a PDF file of
approximately 182 KB, the tool took just 20 seconds. This is considerably faster than the other
tools testedfor this purpose.
On the whole,thequality of theplaintext produced by the pdftotext tool was very good. There
were rarelymanywords incorrectly broken withspaces. Unfortunately, words that were broken
over twolines, usinghyphenation,due to word-wrappinginthePDF were not de-hyphenated by
this tool. However, this wouldnot be such a problemto predict and correct ina script usingthe
plain text output.
It was alsounfortunate that the lines weresplit by '\n' characters at the places at which there was a
wrapped lineinthePDF. It would havebeen niceif lines were not broken due to wrappingas was
the case with the "ps2ascii.ps" tool.
C# WinForms Viewer: Load, View, Convert, Annotate and Edit PDF
PDF Protection. • Sign PDF document with signature. To view, convert, edit, process, protect, sign PDF files, please refer to XDoc.PDF SDK for .NET overview.
extract data from pdf file to excel; extract data from pdf form
C# WPF Viewer: Load, View, Convert, Annotate and Edit PDF
View PDF outlines. Related Resources. To view, convert, edit, process, protect, sign PDF files, please refer to XDoc.PDF SDK for .NET overview.
c# read pdf form fields; how to fill pdf form in reader
On the whole, the tool was verygood at separatingtitles from their followingbodyof text, and
respecting anydouble spacing that existed within thePDF file. Anexample of this separation can
be seen below in Figure 1, which is text extractedfrom aPDF file bypdftotext.
...iteration of the method the implementation improves a little. The work done so far
indicates that the architecture and design for the reference linking API are sound.
References
[1] Donna Bergmark. Automatic extraction of reference linking infor-
mation from online documents. Technical Report TR 2000-1821,
Cornell Computer Science Department, October 2000.
[2] Priscilla Caplan and William Arms.
Reference link-
ing for journal articles.
D-Lib Magazine: The Maga-
zine of Digital Library Research, 5(7/8), July/August 1999.
<http://www.dlib.org/dlib/july99/caplan/07caplan.html>
...
Figure 1. Example oftextextractedfrom a PDFfilebypdftotext.
Notice fromthe above extract that thetitle of thereferences sectionis situated onits own line and
is therefore easilyrecognisable as the title of this section.
This tool does not separate pages with anykind of marker, except a '\f' (form feed) character. It is
easytomake ascript recognise this and extract it, but if it is left inthe text it will be invisible
except toa printer,whichwill print the text that follows it on a new line.
On the downside of this tool, when it reaches an imagethat also has text, it simplydiscards the
image,but transforms the text. Thiscan lead to "garbage" text in the output. Anexample of this
can be seenby lookingat Figures 2 and 3, below. Figure 2 is a PDF document with an image in it.
It has been taken from the paper “An Architecture for Reference Linking”, by Donna Bergmark,
William Arms andCarl Lagoze (all oftheCornellDigitalLibraryResearchGroup). Figure3 is a
small portionof text extractedfrom this PDF document by the pdftotext tool.
Figure2. Anexampleof aPDFdocumentwithimages init.
C# PDF Digital Signature Library: add, remove, update PDF digital
Form Process. Data: Read, Extract Field Data. Data: Auto Fill-in Field Data. Field: Insert, Delete, Update Field. Use C# Demo to Sign Your PDF Document.
how to flatten a pdf form in reader; using pdf forms to collect data
C# HTML5 Viewer: Load, View, Convert, Annotate and Edit PDF
HTML5 Viewer for C# .NET. Related Resources. To view, convert, edit, process, protect, sign PDF files, please refer to XDoc.PDF SDK for .NET overview.
save pdf forms in reader; export excel to pdf form
If GET is successful, the popup
window is replaced bya copy
of Mitchell's seminal work.
while reading A)
(user clicks on"[10]"
Document A
-3-
...........................................
...........................................
...........................................
...........................................
...........................................
...........................................
...........................................
...........................................
...........................................
...........................................
...........................................
"...........Mitchell's seminal work on
onthunks [10]."
.....................
Popup Window
Status: retrieving....
[cancel]
[.ps] [.ps][.pdf]
10. Mitchell,A.Thunks
and Algo. JACM, March...
Figure3. whenthePDFdocumentisconvertedintotext,thetextintheimageis convertedwithit,hencecorruptingthetruetext of
thedocument.
It canbe seen that the extracted text shown above should not have beenextracted, as it is reallypart
of the image inthePDF document. It should in fact simplybe ignored, as when placed intothe
middle of the extracted text it is meaningless and onlyserves toconfuse matters.
The ‘pdftotext’Tool: Testing Conclusion
Althoughthis tool has afew disadvantages suchas the wrapping of lines with '\n' characters;
extractingtext fromimages; the inabilitytoconvert PostScript files totext; andleavinghyphenated
words in the plain text output,I believethat theadvantagesit offers are very important. Primarily,
the plain text output producedby the tool is of a highqualityand the tool is veryfast - by far the
fastest tool that I have tested. It is also the onlytool that seems to be fairly reliablewhen it comes
to separating thetitles from the bodies of text that follow them.
C# HTML5 Viewer: Load, View, Convert, Annotate and Edit Word
users can convert Convert Microsoft Office Word to searchable PDF online, create To view, convert, edit, process, built, sign Word documents, please refer to
flatten pdf form in reader; extracting data from pdf to excel
VB.NET PDF Digital Signature Library: add, remove, update PDF
Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Use VB.NET Demo to Sign Your PDF Document. Add necessary references:
html form output to pdf; export pdf form data to excel spreadsheet
As far as the subject of reference extraction is concerned, I believe that this is the most reliabletool
that I havetestedtodate. I believe that it would also be suitablefor use if it weresimply desirable
to create a plain text version of aPDF file for general reading, astheplain text output of thetool is
in a veryreadable format.
Verdict: Recommend for use.
The ‘ps2ascii.ps’Tool
Source:<http://www.ghostscript.com/>
This tool is shippedwith the Aladdin Ghostscript package from the above URL.
Installing ps2ascii.ps
This tool comes as part of the Ghostscript package,and as such, is installed whenGhostscript is
installed. I did not install Ghostscript myself, but I imaginethat it is afairlyeasy process.
Using ps2ascii.ps
The tool canbe usedindifferent modes. These modes includedisplayingthetext from the
PostScript file,along withthecoordinate informationfor the locationof the text upon the page.
The followingisan extract of some output from this tool.
F172205 (CMBX12)
S1402 2998(1) 97
S1692 2998(Bac) 318
S2005 2998(kground) 700
F133137 (CMR10)
S1402 2754 (This) 214
S16522754(rep) 152
S1808 2754(ort) 139
S1986 2754(co) 102
S2084 2754(v) 58
P
Figure4. Sampleoutputfromtheps2ascii.ps tool.
It can be seen from the above extract, that there are several fields to each row of output. The first
field signifies thetypeof data contained withintherow. If it starts withan "F", it refers to a font
change,the first integer refers to the height of thecharacters in1/720", and thesecondinteger
refers tothe minimumwidth of the characters in 1/720". The text withinthe parentheses is the
name of the font that has been selected. If the field startswith an"S", it means that it is a stringof
text. In this case,the first integer refers to the X coordinate,and the second integer refers totheY
coordinate of the start of the string. Coordinates are measuredin units of 1/720" from the origin,
How to C#: Set Image Thumbnail in C#.NET
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB.NET PowerPoint, VB.NET Tiff Add a new Form Item to the project, and choose to design mode sign.
extract data from pdf into excel; extract pdf data into excel
How to C#: Quick to Start Using XImage.Raster
project’s reference. Add a new Form Item to the project, and choose to design mode sign. Make the ToolBox view show. Right click
sign pdf form reader; pdf data extractor
which is at the lower left of the PostScript page. The text within the parentheses inthis case is the
stringtext,and the integer after thisstring refers to the width of the string, which is measuredin
units of 1/720". It can be seenthat there is also a row that consists of a single character "P". This
row signifiesa page break.
The tool canalsobe operatedin theCOMPLEX modeof operation. Inthis case,it also adds rows
for colour changes and indicates the presence of an image.
If either of the twomodes describedaboveareused, it is necessary to write aprogram to interpret
this data, andrebuildtheinformation into meaningful text. There is however athird mode of
operationtothetool, whichistheSIMPLE mode. This mode simplyextracts the text from the
PostScript, and outputs it ina plaintext form. It is this form that I shall now discuss.
The ps2ascii.ps tool is invoked in SIMPLE mode as follows:
«
gs -q -dNODISPLAY -dNOBIND -dWRITESYSTEMDICT -dSIMPL-c save -f ps2ascii.ps
[filename] -c quit
»
This will cause the plain text output to bestreamedto STDOUT. The tool can convert both
PostScript and PDF documents to plain text format.
Unfortunately, whiletesting the tool, I found it to befairly slow. For example, a PDF document of
approximately 182 KB, took 1minuteand 40seconds. This is quitea slow conversionfor the file,
certainlyslower thancertain other converters were for the same task. Althoughsomeof this lackof
speed canbe attributed to the poor performance of themachine onwhichI have conducted the
tests,this tool still operated moreslowly than some of the other tools tested.
The plain text output of the ps2ascii.ps tool is of afairlyhighquality. Lines are rather long. In
fact, the lines produced bythis tool are considerablylonger thanthoseproducedby anyother tool
that I have tested. This seems to bedue to the attempts made bythe tool to guess when alinehas
actually been brokenby anintentional new line, as opposedto when it has simply been wrapped
due to long length. This linebreak guessingcan beboth a positive factor anda negative factor. On
the positive side, it is better if the lines do not have "\n" characters in them when it is reallyjust a
case of the linebeing wrappeddue to PostScript page size, andthis tool helps to prevent this. On
the negative side however, the attempts made bythe tool to guess where lines are trulysupposed to
be brokencan beerroneous. It canbreak lines incorrectly,and in particular, it seems to have
difficulties separatinga section title from the line that follows it.
Take for example,the following title followed by someexample text:
6Architecture Recap
Up to this point, we have discussed the API: its methods and outputs.However, recall that the
application shownin Figure 3 requires solvingtwo verydifficult problems: analysis,tofindthe
li......
Figure5. Sample text –a section titlefollowedby the section itself.
XDoc.HTML5 Viewer for .NET, Zero Footprint AJAX Document Image
View, Convert, Edit, Sign Documents and Images. We are dedicated to provide powerful & profession imaging controls, PDF document, image to pdf files and
how to fill in a pdf form in reader; pdf data extraction open source
How to C#: Create a Winforms Control
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB.NET PowerPoint, VB.NET Tiff Add a new Form Item to the project, and choose to design mode sign.
make pdf form editable in reader; how to save a pdf form in reader
It can clearlybeseen from the above text that thetitle line reads "6 Architecture Recap", and is
locatedon its ownline,with a blanklineseparatingit from the passage of text that follows it.
However, whenthe ps2ascii.ps tool translated it to plain text,thefollowingwasproduced:
6Architecture Recap Up tothis point,wehave discussed the API: its methods
and outputs. However, recall that the applicationshown in Figure3 requires
solvingtwo verydifficult problems: analysis, to findthe li......
Figure6. The plaintext producedby ps2ascii forthe text shown in figure 5.
Intheaboveexample, it can clearlybe seen that the line separating the title andthebodyof text has
been completelylost,and the title line is now part of the body of text. The tool seems rather
unpredictable inits behaviour of splitting titles from the text that follows them. Sometimes, it has
no trouble in recognising that the title is not part of the body of text, andseparates the twoentities
in the samewaythat theyare separated in the PostScript/PDF. Other times however, it is unable to
distinguish between thetwo.
Unfortunately this problem posesa big argument against using this tool inthe extractionof
references. This is becausethe reference extraction tool must search for a title tothe reference line
(a title generallybeinga short lineof text on its own line, e.g. "The References Section"). If the
title is placed within thebodyof the references section itself, it will looktothe parser as though it
is simplypart of the text, and thereforewon't pick up on thefact that it is the title to the references
section.
The ‘ps2ascii.ps’Tool: Testing Conclusion
The ps2ascii.ps program has some goodpoints as well as badpoints. On its good side,it provides
longlines of text, mostly onlyinserting new line characters when they areencountered within the
PostScript/PDF. This is a verydesirablefeature, asit eliminates all need to rebuild lines at a later
stage. Thetool is also able to convert both PostScript andPDF documents. The readablequality of
the text produced byps2ascii.ps is also very good. If the user simply wanted to create text versions
of PostScript documents, thenthis tool would be agood choice.
On the down side of the tool however, it is fairly slow, andit has problems differentiatingbetween
titles andbodies of text. Unfortunately, this is abigenough disadvantage to makethetool
unsuitable for the process of reference extraction, as it is necessaryto be able to identify the
referencesection by title, andbe sure that we are not simplyidentifying the word "reference"
withinthetext.
Another disadvantage of this tool isthat it is unable to reliablyconvert PostScript files createdfrom
Microsoft products such as Word.
Verdict:Good,butunsuitableforthereferenceextractionprocess.
The ‘pdftohtml’Tool
Source:<http://www.ra.informatik.uni-stuttgart.de/~gosho/pdftohtml/>
The pdftohtml tool is basedon DerekB. Noonburg's XPDF package. According to the authors,the
goal of the pdftohtml project is to create afreely available program that enables a PDF file to be
converted into an HTML file.
Fuller documentationdetails are available from the above URL, but in anutshell, the authors claim
that the tool attempts to preserve all links withinthePDF; extract thetext from the PDF document
and place it within an HTML file; attempt torecognise bold and italic areas of text; and displaythe
content of the pages inHTML from first page to last.
The above-mentioned Web site for the pdftohtml tool is quiteuseful,as it provides much
information about thetool,includinga list of problems known with the tool.
Unfortunately, the pdftohtml tool is not capable of transforming a PostScript fileinto HTML. It
onlyworks with PDF files.
There are two main distributions of pdftohtml. These are pdftohtml version 0.22, which is the
current stable version of thetool and pdftohtml version 0.31, which is the latest, test release. I have
triedboth, and foundthem tobe fairlysimilarintheir results. Infact, I found the results of
pdftohtml version 0.22 to be moresuitable for my purposes, so Ihave decided to discuss this
particular version in thisreport. It is sufficient to saythat thereis not agreat enoughdifference
betweenthetwotools in order to justifya separate discussion of them.
Installing pdftohtml
The pdftohtml tool is downloadedas a zipped".tar" file. After unzipping andextractingthetar
archive, the binaries of the pdftohtml tool can be createdby movingtothedirectorycreatedby
extractingthe ".tar" file, and invoking the makecommand. Ihad noproblems with this installation.
Using pdftohtml
The pdftohtml tool has the followingusage information:
pdftohtml version 0.22
Usage: pdftohtml [options] <PDF-file> [<html-file>]
-f <int>
: first page to convert
-l <int>
: last page to convert
-q
: don't print any messages or errors
-h
: print usage information
-help
: print usage information
-p
: exchange .pdf links by .html
-c
: generate complex document
-i
: ignore images
-noframes
: generate no frames
-stdout
: use standard output
-ext <string>
: set extension for images (in the Html-file) (default png)
It canbe seen that there are manyoptions for the tool, such astellingit to convert certain pages
within arange etc. I onlymade use of certain options when testingthetool. I made use of the"-
stdout" option, which allowed metohave the output of the tool streamed directly to the STDOUT
stream. I also made use of the "-noframes" option,whichallowedme toprevent the tool from
creating HTML in which frames would be used. This is because for mypurposes, I simplywanted
all of the text toappear as one page of HTML, andframes would not allow this. I also used the "-i"
flag, which allowed the tool to ignoreall images within the document. This was becausefor my
purposes, images were not desired. The"-q" flagwas alsoused, which enabled the suppressionof
error messages.
The pdftohtml tool consists of 2main tools. The first is"pdftohtml",whichis ashell script that
executes "pdftohtml.bin" andthen converts all PBM/PPMimagesinto PNG images format using
pnmtopng converter. Theother tool is the"pdftohtml.bin" tool, whichis theactual tool that
performs the conversion itself. Since I was not interestedinhaving anyimages converted,I
decided to perform my tests bydirectlycalling the pdftohtml tool.
The tool was invoked as follows:
«
pdftohtml.bin -i -noframes -stdout [filename]
»
When usingthetool, Ifound it tobe fairlyquick. One advantageof usingPDF files is that they are
frequently smaller insize thantheir PostScript counterparts. The tool took approximately 40
seconds to convert and stream to STDOUT afile of approximately 182 KB in size. This is fairly
fast comparedwith some of thePostScript converters, which took well over 1 minute to convert the
same file from the PostScript format.
On the whole,thequality of theHTML source produced bythe pdftohtml tool was quite bad. It
seemedtohave one word per line andsometimes a tagsuch as a"<BR>" tagalso. This is a shame
-it wouldhavebeen nicer for parsing and for readability if the lines hadbeen broken onlywhere
there were HTML "<BR>" tagsor "<P>" tags, or for that matter, where there were anyother line
breaktags. This problem is not too difficult toneaten up with a simple script, which removes all of
the unwanted new line characters. However, this is yet another step, causingmore time overheads.
Asample of someHTML output for the program is shown below:
Fe
Con-<br>
vention
of
the
Open
Archives
Initiative.
D-Lib
Magazine:
The<br>
Magazine
of
Digital
Library
Research,
6(2),
February
2000.<br>
19<br>
Page-19
</body>
</html>
Figure7. Sample HTML output fromthe pdftohtml tool.
Notice that there is more or less one word per line. This is the philosophyof theprogram - the user
can clean upthe HTML source as theysee fit.
Of course,if the HTML is simplytobe displayed in a browser,then this source does not matter, as
the browserdisplays it nicelywithout all of these breaks in the lines. The image in ‘figure 8’,
below, shows the wayin which the article whosesource was shown above appears within a
browser.
Figure 8. Browserrepresentationofthe badquality HTML source produced by pdftohtml –it looks
good.
As I have discovered withsome of the other converters, when animage that contains text is
encountered,theimageis discarded, but the text isshown in the output createdby pdftohtml. This
is a shame,but I believe that it must be unavoidable, as many of the tools dothis.
Documents you may be interested
Documents you may be interested