Final Report                           PDF
TO 
HTML
C
ONVERSION
Page 5 
 Investigation of existing solutions 
The following four solutions were found, and were investigated in detail with a variety 
of PDF files.   
•  PDF to HTML Recastor by Archisoft  
•  pdftohtml sponsored by Lincoln & Co  
•  pdf2html by Twibright Labs  
•  Google’s View as HTML feature for cached PDF files  
Full URLs to the web sites of these programs are given in the bibliography. 
The first, PDF to HTML Recastor, is the only commercial solution that had a trial 
version available for download.  The next two are open-source, and Google’s feature is 
an example of a server-side implementation on a web site. 
The following PDF files were used in the investigation.  All the files were downloaded 
on October 21, 2002. 
Title 
Type of layout 
Location 
Boston Sunday Globe, 
Today, October 20, 2002 
Complex 
newspaper; columns
www.boston.com/globe/acrobat/ 
today.pdf 
White Paper: Is the 
Network Slow Today? 
Word-processed 
document 
www.netscout.com/files/ 
artmb_wp.pdf 
Connex South Eastern 
Rail Timetable #5 
Tabular 
www.connex.co.uk/upload/ 
timetable/PTT05.pdf 
As three of the converters, PDF to HTML Recastor, pdftohtml and Google used the 
same  method  they  generated  similar  results.    To  avoid  repetition  this  method  is 
described in detail in the next section only. 
2.1  Results with PDF to HTML Recastor 
This converter generated a series of HTML files from the PDF; one for each page of 
the document.  PNG images were also included for the graphics.  The converter also 
had a feature to generate a page index in a separate frame displayed on the left-hand 
side of the screen. 
At the first glance, the converted documents looked very realistic.  The program had no 
difficulty in converting the simple, word-processed document and even coped with the 
Pdf data extraction open source - 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
how to save editable pdf form in reader; extract pdf data to excel
Pdf data extraction open source - 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
pdf data extractor; change font size pdf form reader
PDF
TO 
HTML
C
ONVERSION
           Final Report 
Page 6 
multiple  columns  of  the  newspaper  article.    The  newspaper  article  and  railway 
timetable,  however,  are  very  complex,  and  revealed  some  limitations  with  the 
converter.  These were very useful in gaining an understanding of how the converter 
works. 
Closer examination of the converted output revealed that this was achieved by using an 
inline style sheet to give  an  absolute pixel position to each fragment  of  text.   The 
graphical elements of the page, including images, lines and boxes, were combined into a 
single image, which was shown as the background of the HTML page. 
2.1.1  Problems with converted output 
The newspaper article was designed for a large (approximately A3-size) page, and could 
not  be  viewed  on  an  average  computer  screen  without  scrolling.    The  converter 
attempted to resize the page to fit in an average browser window (about 800 pixels 
across).  This resulted in text that was too small to read, even with the magnification 
facility on the converter set to its maximum.  As the font sizes were specified in pixels, 
altering the text size on the browser had no effect. 
This problem was exaggerated by the fact that all the text displayed in the HTML file 
was  smaller  than the  text  in the PDF  document when viewed at  a  similar level of 
magnification.    This  was  understood  to  have  been  done  to  avoid  columns  of  text 
running into each other when viewed with different fonts or across different platforms. 
What  was  even  more  striking  was  that  the  headline  simply  appeared  as  “fghijkl”.  
During the creation of the newsletter, a custom font  for the headline was probably 
used, in which single characters were mapped to entire words in the headline.  As the 
converter output everything in the Arial font, the headline was displayed as “fghijkl” as 
shown below.  This is a rather special case, but it does illustrate the fact that PDFs can 
be created in a wide variety of ways, and that it is difficult to design a program to 
account for all of them. 
C# PDF Text Extract Library: extract text content from PDF file in
using RasterEdge.XDoc.PDF; Please have a quick test by using the following C# example code for text extraction from PDF page. // Open a document.
extract data from pdf to excel online; extract data from pdf using java
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
Except provides PDF page extraction method in VB.NET, this page also gives VB This VB.NET code below can help you extract all images from PDF. ' Open a document
extracting data from pdf files; extracting data from pdf into excel
Final Report                           PDF
TO 
HTML
C
ONVERSION
Page 7 
Fig 2.1: A section of the Boston Sunday Globe newspaper (left) and as converted by the 
Archisoft converter (right) 
A different issue was highlighted by the conversion of the train timetable.  In Figure 2.2 
below, all the figures should appear under each other.  However, the converter has 
mistakenly detected the circled side-by-side figures as words in a line of text.  Rather 
than place them separately, it has placed them together as a line of text, with each 
figure separated by a space.  The result is that the figures are not in the right place.  The 
figure “1717” should actually appear underneath the figure “1713” in the line above.   
Fig 2.2: A section of the railway timetable (left) and as converted by the Archisoft 
converter (right) 
Although most text fragments in a PDF file consist of an entire line of text, this is not 
necessarily the case.  Changes in font or the inclusion of symbols often necessitate that 
a separate text fragment is used.  Some poorly created PDFs even place each word or 
each character as a separate text fragment.  The feature described above is intended to 
combine these fragments to create a continuous line of text, improving the appearance 
when converted to HTML.  Unfortunately, it also causes problems for tabular data. 
2.2  Results with pdftohtml 
This converter could generate two types of output,  simple and  complex.  Complex 
output was generated by using the -c command line parameter.  As with the Archisoft 
VB.NET PDF Text Extract Library: extract text content from PDF
'Please have a quick test by using the following example code for text extraction from PDF file in VB.NET program. ' Open a document.
how to make a pdf form fillable in reader; exporting data from excel to pdf form
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
below. DLLs for PDF Image Extraction in VB.NET. Document. Sample for extracting all images from PDF in VB.NET program. ' Open a document.
html form output to pdf; extract data from pdf
PDF
TO 
HTML
C
ONVERSION
           Final Report 
Page 8 
converter, it also had an option to generate a page index in a separate frame displayed 
on the left-hand side of the screen. 
In the complex mode, the results were very similar to those of the Archisoft converter.  
The only noticeable difference was that the main font used was Times, not Arial.  The 
converter  ran  into  exactly  the  same  difficulties  with  the  newspaper  and  railway 
timetable and the results produced were almost identical. 
In the simple mode, the converter output all the graphics followed by the text.  Text 
was not positioned absolutely, but output as ordinary paragraph text.  A break (
<BR>
was used at the end of each text fragment and no attempt was made to merge fragments 
into paragraphs.  However, a good attempt at ordering the text was made and, even 
with  the  complex  newspaper  layout,  entire  articles  could  be  read.    There  were, 
however, no headings or paragraph markers to indicate where these articles began.  An 
example of this output is shown below. 
Fig 2.3: A section of the Boston Sunday Globe newspaper (left) and as converted by the 
pdftohtml converter in simple mode (right) 
2.3  Results with pdf2html converter 
This  converter  simply  used  Ghostscript  to  create  a  PNG  image  of  each  page  at  a 
resolution  appropriate for on-screen  viewing.   It then generated  a series  of  HTML 
pages to display each PNG image.  The result was perfect, although the newspaper 
article appeared to small to be readable.  With this method of conversion, however, the 
file size is large and all the benefits of HTML are lost. 
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
C# Project: DLLs for PDF Image Extraction. In Document. C# programming sample for extracting all images from PDF. // Open a document.
extract data from pdf file to excel; vb extract data from pdf
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Merge Microsoft Office Word, Excel and PowerPoint data to PDF form. PDF document splitting, PDF page reordering and PDF page image and text extraction.
cannot save pdf form in reader; pdf form save with reader
Final Report                           PDF
TO 
HTML
C
ONVERSION
Page 9 
2.4  Results with Google 
As Google only offers this facility for pages stored in its cache, it was not possible to 
convert the three PDF documents that were used to investigate the previous solutions.  
However, similar documents were found by searching Google’s cache, and showed that 
the method of conversion is identical to that of the Archisoft converter and pdftohtml 
in complex mode.   
Cosmetically, the output is  slightly different  as  it combines  each  page into a  single 
HTML file.  A 1 × 1 HTML table, displaying the page number, is used to rule a line 
between each page.
2.5  Areas of possible improvement 
Investigation  of  the  Archisoft,  pdftohtml  (complex  mode)  and  Google  converters 
highlighted the following improvements that would improve the result: 
•  an  option  to  rasterize  text  above  a  threshold  size:  as  many  pages  often  use 
decorative fonts for headings, this would enable the page to more closely resemble 
the original.  This feature would also have solved the problem of the custom font 
for the headline in the newspaper article 
•  an option to change the horizontal size of the output: this may necessitate scrolling, 
but will allow text to be displayed at a larger and more legible size. 
•  improved resizing of images: when the individual images were combined into one 
background image, they were resized to appear proportionately to the rest of the 
page.  Unfortunately, the algorithm used by these converters was very simple, using 
the  “nearest  neighbour”  method.    This  caused  much  distortion  in  the  images, 
particularly as many PDF images are already at a low resolution to minimize the file 
size.  An algorithm utilizing bilinear or bicubic resampling would have generated a 
better result 
•  recognition of tabular content: if the text in the PDF is recognized as belonging to a 
table (e.g. where successive lines have the same x co-ordinate) the converter should 
not attempt to merge this material into a single line of text 
Investigation of the pdftohtml converter  in simple mode made the author aware of 
another  possible  approach  to  the  conversion,  one  that  will  hereafter  be  named 
intelligent text extraction in this report.  This involves putting the text fragments into 
the correct order so that they can be merged to create complete paragraphs of text.  
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
document processing SDK supports PDF page extraction, copying and The portable document format, known as PDF document, is file that allows users to open & read
can reader edit pdf forms; pdf data extraction tool
C# PDF Password Library: add, remove, edit PDF file password in C#
PDFDocument doc = PDFDocument.Open(intputFilePath, userPassword); // Define IsFillForm = true; // Content extraction is allowed true; // Add password to PDF file
pdf form field recognition; flatten pdf form in reader
PDF
TO 
HTML
C
ONVERSION
           Final Report 
Page 10 
Styles and formatting can then be applied to distinguish headlines from body text.  A 
much simpler HTML file can be created this way, which can then be published to a web 
site. 
2.6  Conclusion 
All the above converters were found to produce good visual results from a variety of 
different  documents.    In  all  cases  the  method  of  conversion  allowed  a  “one  step” 
approach to be taken, without any need for configuration by the user.  This is useful as 
these programs are mostly aimed at inexperienced users who do not have the expertise 
to perform such a task manually. 
However, questions arise as to whether the approach of maintaining page layout is the 
correct approach to take, and under which circumstances the generated HTML files 
will be useful.  With this approach most of the benefits of HTML are lost as text cannot 
be re-flowed for on-screen viewing and the file cannot easily be incorporated into a 
web site. 
C# PDF - Extract Text from Scanned PDF Using OCR SDK
Field Data. Data: Auto Fill-in Field Data. Field: Insert Recognize scanned PDF document and output OCR result to class source code for ocr text extraction in .NET
how to extract data from pdf file using java; save data in pdf form reader
C# TIFF: Use C#.NET Code to Extract Text from TIFF File
SDKs, C# users can easily add and perform text extraction functionality into Certainly, you may also render it to a PDF, Word or SVG Set the training data path
export pdf data to excel; how to flatten a pdf form in reader
Final Report                           PDF
TO 
HTML
C
ONVERSION
Page 11 
 Project decisions 
After four existing solutions to the problem were investigated, it was decided to change 
the  approach  of  the  conversion  from  attempting  to  reproduce  the  page  layout  to 
intelligent text extraction.  The reasons for this decision, and a plan of the work to be 
carried out, are shown below. 
3.1  Change of aims and objectives 
The original aims of the project were to perform an accurate conversion, maintaining 
the  page  layout,  fonts,  graphics  and  other  elements  as  closely  as  possible.    After 
investigating the existing solutions to the problem, it was found that this approach had 
already been successfully implemented in three different pieces of software.   
Although visually accurate, the results with these converters were not very practical.  
Most of the advantages of the HTML format were lost with this type of conversion; 
text was too small, could not be re-flowed and the output could not easily be converted 
into a web-publishable document.  It was therefore decided to change the aims of the 
project to intelligent text extraction; attempting to detect elements such as paragraphs 
and headings and using HTML’s features to represent them in the converted file. 
This approach is far more challenging than simply maintaining the page layout as it 
involves programming a computer to understand the elements of a page in such a way 
that a human would.  This fact had not been fully realized at the time of writing the 
Progress Report,  and it was  therefore  necessary to further  modify the objectives to 
simplify the implementation so that it would be completed in the time allocated for the 
project.  As a result, the implementation looks solely at the text elements of the PDF. 
3.2  Implementation decisions 
There is  a  huge  variety  of documents  that are stored in  PDF  format  ranging  from 
simple  layouts  such  as  manuals  and  research  papers  to  complex  layouts  such  as 
newsletters, catalogues, tables and forms.  All the existing solutions performed a “one-
step”,  layout-independent  approach  that  was  performed  an  accurate  conversion 
reproducing the original layout, thus providing an acceptable result regardless of the 
type of document. 
This one step approach is not possible with intelligent text extraction, as the program 
itself must understand the particular page layout.  Many features in complex layouts 
PDF
TO 
HTML
C
ONVERSION
           Final Report 
Page 12 
can only be reproduced in HTML by using tricks such as preformatted text, tables or 
graphics.  Simply extracting the text in this case presents many difficulties; for example 
columns need to be detected and output in the correct order and line ends must be 
merged to create a continuous flow of text and new paragraphs must be detected.  It 
was therefore decided to present the text as a simple HTML document, similar to the 
style of a word-processed document. 
Each type of layout must be treated differently with this approach and it was decided to 
group the layouts into two categories: single-column layouts and multi-column layouts.  
For each of these categories, two PDF files were found and used as the basis of the 
conversion material for the project. 
3.3  Conversion material 
The PDF files used as the basis of the conversion material are listed below. 
Single-column: 
Title: 
Sample letter 
Author: 
Tamir Hassan 
Filename:  sampleletter.pdf 
Obtained:  Created in Microsoft Word and Acrobat Distiller for the purposes of this 
project 
Features:  Typical letter layout; includes addresses with forced carriage returns 
Title: 
A Tale of Two Cities (Non-Tagged) 
Author: 
Charles Dickens 
Obtained:  Downloaded from planetpdf.com 
URL: 
http://www.planetpdf.com/A_Tale_of_Two_Cities_NT.pdf 
Features:  Header and footer with page numbers; indented paragraphs 
Multi-column: 
Title: 
Register of English Football Facilities Newsletter – Summer 2001 
Author: 
Register of English Football Facilities 
Filename:  reffnewsletter.pdf 
Obtained:  Downloaded from footballfoundation.org.uk 
Features:  Variable line spacing; boxed quotations; variety of fonts and formatting 
Title: 
Witness for Peace Newsletter – Winter 2002 
Final Report                           PDF
TO 
HTML
C
ONVERSION
Page 13 
Author: 
Witness for Peace 
Obtained:  Downloaded from witnessforpeace.org 
URL: 
http://witnessforpeace.org/pdf/newsarch/winter_02.pdf 
Features:  Very complex layout; pictures with captions; boxed articles; headers and 
footers; variable line spacing; paragraphs with little extra spacing
3.4  Program output 
After  analysing  the  shortcomings  of  the  existing  solutions,  it  was  decided  that  the 
converted HTML should be clean, legible, correctly structured, and that the correct 
tags for styles and paragraphs be used where possible.  An example of such a HTML 
file is shown below 
<HTML> 
<HEAD> 
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<STYLE type="text/css"> 
h1 {font-family: helvetica; font-size:24} 
p {font-family: times} 
</STYLE> 
</HEAD> 
<BODY> 
<h1>This is a heading </h1> 
<p>This is normal text </p> 
<p>And this is a separate paragraph </p></BODY> 
</HTML> 
Fig 3.1: Example of “clean” HTML output 
3.5  Choice of language and platform 
Java was chosen as it was the main programming language taught at University, with 
which  the  author  was  already  familiar.    Its  multi-platform  nature  facilitated 
development, as a combination of Windows, Linux and Solaris platforms was used.  It 
also  allows  the  finished  program  to  be  run  on  any  supported  platform,  which  is 
particularly  advantageous as  both PDF  and HTML  are also multi-platform  formats.  
Finally, the JPedal library, written in Java, performs the low-level operations on the 
PDF file itself, allowing the project to concentrate more on the conversion aspects of 
the problem. 
3.6  The JPedal Library 
JPedal, the Java Pdf Extraction, Decoding and Access Library, was used to access the 
data  from  the  PDF.    JPedal  is  compatible  with  PDF  files  up  to  version  1.3;  the 
specification for PDF 1.4 has not been fully released by Adobe.  Therefore it does not 
provide access to the tags that are provided in certain e-books that denote paragraph 
PDF
TO 
HTML
C
ONVERSION
           Final Report 
Page 14 
information.  It also has a few other limitations, including that it will not work with 
encrypted PDF files. 
JPedal  was  written  by  IDR  Solutions  as  part  of  their  commercial  PDF  extraction 
package, Storypad.  JPedal is, however, published under the Lesser GNU Public License 
(LGPL) allowing it to be freely used and modified.  The source code is provided, which 
included a generic class, PdfGenericGrouping, to extract and group the text.  It was 
decided  to  extend  this  class  to  provide  an  enhanced  class,  PdfGrouping,  to  merge 
paragraphs, detect columns, re-order the text blocks and include style information. 
More information about the use of JPedal is given in the next section. 
3.7  The front end 
As the PdfGrouping class performed all the processing it was necessary to include a 
front  end,  pdf2html,  to  perform  all  the  input,  file  accesses  and  output.    It  has  a 
command line interface that can be called by a script or GUI. 
Documents you may be interested
Documents you may be interested