c# pdf to image without ghostscript : Create fill pdf form control software platform web page winforms html web browser shawn_thesis8-part650

CHAPTER 3. XML REPRESENTATION OF REGULATIONS 
66
6
Within any provision specified by “regElement” elements, “regText” elements are used 
to store the actual text of the regulation provision.  In Figure 3.1, part of the text for 40 
CFR 279.12 (a) is shown to illustrate the usage of “regText” elements.  This core XML 
markup provides a tree structure that enables regulation provisions to be tagged with 
meta-data at the appropriate level within the document.  Once the type of structure shown 
in Figure 3.1 is established, it is possible to add other elements that tag the document with 
meta-data at any point in the XML tree structure. 
The “regText” elements may  contain several formatting elements: paragraph, table and 
pre elements.   
•  The paragraph element is used to denote paragraphs, and is similar to the <p> 
element in HTML.  Paragraph elements may contain table, pre and paragraph 
elements just like regText elements.   
•  The pre element serves the same purpose in the XML regulation as the pre tag in 
HTML, denoting text that should be rendered verbatim; without any changes in 
spacing.
29
•  Tables are represented in the XML regulations in the same manner they are 
represented in HTML code.  Table elements may be placed within regText and 
paragraph elements.  Table elements may contain “tr” elements to designate rows 
of the table.  Within the tr elements, “td” elements are used to represent individual 
cells  of  the  table.    Regular  text,  paragraph  elements,  pre elements  or  table 
elements may be placed within the td elements. 
•  Figures cannot be stored within the XML regulation structure, but references to 
figures may be stored in the XML structure.  Figure references are stored in “img” 
elements, with a “source” attribute to provide the path to the figure.  The source 
29
The  HTML  pre  element  is  described  by  the  W3C  on  a  webpage  located  at  
http://www.w3.org/TR/REC-html40/struct/text.html#h-9.3.4 
Create fill pdf form - C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#.net, ASP.NET, MVC, WinForms, WPF
Online C# Tutorial to Automatically Fill in Field Data to PDF
convert excel spreadsheet to fillable pdf form; create fillable forms in pdf
Create fill pdf form - VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
convert pdf form fillable; create pdf fill in form
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
67
7
path can be a local directory path or a URL.  Img elements may be used within 
regText, paragraph and tr elements.  A DTD for all of these elements is shown in 
Figure 3.3.  
3.3.3  Conversion of Regulations into the XML Structure 
United States federal and state environmental regulations are used as a case study to 
investigate the usefulness of the XML structure.  Two approaches have been taken in 
converting regulations to XML for this purpose.  First, a parsing system has been built to 
convert PDF regulations to the XML regulation structure.  Second, a parsing system has 
been  developed  to  convert HTML regulations  to  the XML regulation structure.  A 
discussion of  how each of these  systems operates,  along with a comparison of  the 
effectiveness of the two systems, is described in the following sections. 
3.3.3.1  Converting PDF Regulations into XML Structure 
In this work, a number of different environmental regulations were gathered in PDF 
format.    For  example,  regulations  composing  CFR  Title  40,  Protection  of  the 
Environment, were downloaded from the federal Environmental Protection Agency’s 
website
30
in PDF format and formed the core of the project’s regulation corpus.  In 
addition, sample PDF environmental regulations were downloaded from the websites of 
state agencies in Illinois, Florida, and New York.  While regulations from each of these 
sources differ slightly in terms of parsing issues that need to be addressed, there are also 
strong commonalities that enable the development of a core parsing system that could 
then be specialized for a particular regulation source.  The rest of this section discusses 
the operation of the core parser, which is specialized to focus on U.S. Federal EPA 
regulations (40 CFR). 
30
The EPA’s website is located at http://www.epa.gov. 
VB.NET PDF Password Library: add, remove, edit PDF file password
As String = Program.RootPath + "\\" 3_pw_a.pdf" ' Create a password passwordSetting. IsAnnot = True ' Allow to fill form. True ' Add password to PDF file.
create fill pdf form; .net fill pdf form
C# WPF PDF Viewer SDK to annotate PDF document in C#.NET
Select the fill color when drawing oval, rectangle, polygon and irregular shape. Select the line color when drawing annotations on PDF document. Default create.
create a writable pdf form; create a fillable pdf form in word
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
68
8
Figure 3.3 DTD for structuring regulation text 
In the first year of this project, federal EPA regulation documents were available on the 
web in a two-column PDF format and contained many words split across lines.  An 
example of the two-column format is shown in Figure 3.4 with arrows indicating the 
words split across lines.  A parsing system has been built to transform the original 
regulations in PDF format into XML-structured regulations.  The parsing system consists 
of four basic steps, as shown in Figure 3.5. 
In the first step the PDF regulations are converted into plain text documents using a PDF-
to-text conversion tool called pdftotext, which is a free software program distributed 
under the GNU General Public License (GPL)
31
.  This conversion results in a text file 
with several remaining issues that need to be resolved before it can be translated into the 
XML  regulation  format.    The  most  significant  issues  are  that  the  converted  text 
regulations  have  multiple  columns  of  text  with  a  large  number  of  words  that  are 
31
The pdftotext program is available at the web address http://www.foolabs.com/xpdf/. 
<!ELEMENT regulation (regElement+)> 
<!ATTLIST regulation id ID #REQUIRED 
name CDATA #REQUIRED 
type CDATA #REQUIRED 
versionDate CDATA #REQUIRED 
source CDATA #REQUIRED> 
<!ELEMENT regElement (regText?, regElement*)> 
<!ATTLIST regElement id ID #REQUIRED 
name CDATA #REQUIRED> 
<!ELEMENT regText (#PCDATA | paragraph | table | pre | img)*> 
<!ELEMENT paragraph (#PCDATA | paragraph | table | pre | img )*> 
<!ELEMENT table (td)*> 
<!ELEMENT td (tr)*> 
<!ELEMENT tr (#PCDATA | paragraph | table | pre | img )*> 
<!ELEMENT pre (#PCDATA)> 
<!ELEMENT img – O Empty> 
<!ATTLIST source CDATA #REQUIRED> 
C# PDF Password Library: add, remove, edit PDF file password in C#
outputFilePath = Program.RootPath + "\\" 3_pw_a.pdf"; // Create a password passwordSetting.IsAnnot = true; // Allow to fill form. Add password to PDF file.
create a fillable pdf form from a word document; attach image to pdf form
VB.NET PDF - Annotate PDF with WPF PDF Viewer for VB.NET
Select the fill color when drawing oval, rectangle, polygon and irregular shape. Select the line color when drawing annotations on PDF document. Default create.
auto fill pdf form from excel; pdf form filler
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
69
9
hyphenated and split across columns, and there are no clear identifiers for the section 
headings. 
Step two of the XML conversion process unifies the multicolumn format and reassembles 
split words with the help of an online Webster dictionary.  First the page breaks in the 
document are identified by the white space between them.  Next, the columns of text are 
identified  by  the  white  space  between  them.    Then  the  right  column  of  text  is 
concatenated below the left column of text.  During this process, words that had been 
hyphenated and split across lines are reconstructed with the assistance of a Webster 
dictionary, which is used to verify that reconstructed words are in fact valid words. 
Step three of the conversion process is to parse the table of contents, which lists the 
sections contained in the document, to increase the accuracy of the section identification 
process.    Frequently  section  headers  in  the  text  document  are  difficult  to  identify.  
References appear throughout the regulation, so it is difficult to differentiate between 
section numbers appearing in the body of the document that have been wrapped to a new 
line and section numbers that identify the start of a new section.  This is shown in Figure 
3.4 by the reference to §260.10, which appears at the bottom of the left column.  By 
parsing the table of contents, the conversion process can gain information on what 
regulation sections need to be identified. 
The  fourth  step  in  the  conversion  process  parses  through  the  cleaned  text-based 
regulations  and  outputs  the  regulations  with  XML  tags  that  define  the  document 
structure.  Identification of sections takes advantage of the information provided by the 
table of contents to improve matching accuracy.  Identification of subsections and deeper 
provisions is generally easier, and the parsing system attains high accuracy for this task 
despite not having a table of contents to assist it.  As the parser moves through the text 
document, it writes an XML file that contains XML tags to indicate the structure of the 
document along with the original text. 
VB.NET PDF - Annotate PDF Online with VB.NET HTML5 PDF Viewer
Click to create a note to replace selected text add a text box to specific location on PDF page Outline width, outline color, fill color and transparency are all
create fillable form from pdf; allow users to attach to pdf form
C# HTML5 PDF Viewer SDK to annotate PDF document online in C#.NET
Click to create a note to replace selected text add a text box to specific location on PDF page Outline width, outline color, fill color and transparency are all
asp.net fill pdf form; acrobat fill in pdf forms
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
70
0
Figure 3.4 Double-column regulation provision with words split across lines 
Figure 3.5 Conversion of plain text regulations to XML format 
Plain 
Text 
Single  
Column 
Get  
Structure 
Info 
Webster Dictionary 
Parse  
According  
to Structure 
Parse Table  
of Contents 
Regulation 
Parser 
Original 
Regulations 
Regulations in 
XML format 
Tagged by basic document 
structure 
VB.NET PDF Form Data Read library: extract form data from PDF in
RasterEdge .NET PDF SDK is such one provide various of form field edit functions. Demo Code to Retrieve All Form Fields from a PDF File in VB.NET.
convert pdf to fillable pdf form; auto fill pdf form fields
C# PDF Form Data Read Library: extract form data from PDF in C#.
A best PDF document SDK library enable users abilities to read and extract PDF form data in Visual C#.NET WinForm and ASP.NET WebForm applications.
convert pdf to pdf form fillable; attach file to pdf form
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
71
1
The XML regulations resulting from this process are generally imperfect and require 
manual  modification  to  accurately  represent  the  regulations.    The  PDF  to  XML 
conversion process has three primary drawbacks.  First, the initial PDF-to-text conversion 
results in a loss of formatting information, which introduces a number of problems.  Loss 
of formatting information means that specially formatted identifiers, such as section 
headings being rendered in bold, cannot be utilized in the subsequent parsing steps.  In 
addition,  tables  tend  to  become  scrambled  beyond  recovery  by  the  PDF-to-text 
conversion.  Second, the information extraction task is difficult since there are only weak 
indications of the regulation's structure in the text documents.  This is complicated by the 
fact that the PDF-to-text conversion introduces noise into the document in the form of 
irregular spacing and occasionally scrambled text.  Third, figures and other non-text 
components of the regulations are lost.  Significant manual intervention is required to 
deal with all the problems mentioned above, resulting in a time-consuming conversion 
process. 
3.3.3.2  HTML to XML Conversion 
Recently, government agencies have begun to make available regulatory information on 
the web in HTML format.  After HTML regulations became available, we developed a 
parser to convert HTML regulations downloaded from the Electronic Code of Federal 
Regulations (e-CFR) website into XML.
32
Figure 3.6 shows a sample HTML regulation 
from the e-CFR website.  Two hundred and eighty-seven regulation Parts, all of the 
regulation Parts within 40 CFR that were available through the e-CFR website, were 
downloaded in January of 2003 for the development and testing of a HTML to XML 
regulation parser.  
As shown in Figure 3.7, the HTML to XML conversion process is a three-step process.  
This process has significant reliability improvements over the PDF to XML process.  The 
32
The e-CFR website is maintained by the U.S. National Archives and Records Administration at the web 
address http://www.access.gpo.gov/ecfr/.  All regulations were downloaded in January of 2003. 
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
72
2
first step is to trim down the unnecessary information in the HTML file and begin 
preparing the file for further processing into an XML structure.  This step removes the 
HTML tags that will not be used in the conversion process.  For example, the HTML tag 
“font” is not necessary for the conversion, so  it can be removed.  Any characters that are 
illegal in XML are also removed or substituted with legal representations at this point.  
For example, the “&” charact er is replaced with the legal XML entity representation 
“&amp;”.  This step also removes regulation content that is not needed for the final XML 
document, such as the table of contents for the regulation Part. 
Figure 3.6 Initial HTML regulation from e-CFR 
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
73
3
Remove illegal characters 
and unnecessary HTML
Mark up regulations with
fully referenced provisions
Parse the regulations
into XML structures
Figure 3.7 Process for converting HTML regulation to XML 
The  second  step  in  the  conversion  process  involves  detecting  the  structure  in  the 
regulation file, and adding information to the file to make the regulation structure more 
explicit.  The pattern matching capabilities of Perl, a programming language, are well 
suited for this type of text processing [105].  Pattern matching is used to identify the 
hierarchical structure of the regulation, assisted by the HTML formatting tags used in the 
e-CFR regulations.  For example, HTML tags for displaying text in bold (<b>) mark 
section  headings,  resolving  the  problem  of  identifying  section  references  that  have 
wrapped to a new line (the circled text “§260.10 of this chapte r” illustrates this issue in 
Figure 3.4).  As each component of the outline structure is identified in the file, a full 
reference to the provision is inserted at the start of the line to be used in the final 
conversion step.  This second step produces a regulation file with each provision of the 
regulation text tagged with a complete reference to its location within the regulation tree 
structure. 
The third step in the conversion process involves transforming the regulation file into the 
XML structure.  This process is facilitated by the tagging of each regulation provision 
with its “id”, or full reference  path, that was done in step two of the conversion process.  
The parser still makes use of some remaining HTML tags at this stage to ensure a clean 
transformation of the regulation.  For example, the parser is able to distinguish provision 
titles from provision text because the former is identified with italics tags from the 
original e-CFR HTML regulation.  This enables the proper “name” data to be inserted in 
the XML regulation.  Figure 3.6 shows the formatting of the initial HTML regulation.  
From all of this information the parser is able to convert the regulations into the XML 
structure. 
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
74
4
The HTML to XML conversion process reduces most of the PDF to XML conversion 
problems.  First, the HTML parser can take full advantage of formatting information that 
is part of the HTML regulation.  Table information in particular is straightforward to 
process from HTML, so this information is not lost.  Second, the information extraction 
process is somewhat easier than in the case of PDF conversion because HTML tags help 
delineate the document's structure.  For example, the start of sections may have tags for 
paragraphs or other formatting dividers.  Third, figures and other non-text components of 
the regulations are straightforward to preserve from the HTML.  Since all of these issues 
are improved by means of the HTML to XML conversion process, significantly less 
manual intervention is required to convert HTML regulations to XML than is required to 
convert PDF regulations.  Therefore, the HTML to XML conversion is both less time-
consuming and less error-prone than the PDF to XML conversion.  We were able to 
transform all 287 regulation Parts within 40 CFR that we downloaded without much 
manual intervention using the HTML to XML process described above.
33
3.4  Adding Metadata to XML-Structured 
Regulations 
3.4.1  Overview 
A key design paradigm behind this research work is that by bringing all the meta-data 
directly to the regulations a highly portable multi-use document can be constructed, and 
the  usefulness  of  the  complete  and  integrated  document  will  be  greater  than  the 
individual parts.  For example, incorporating concept phrase elements directly into the 
document allows processing systems to provide a number of features such as automated 
33
This conversion process took about 3 hours on a Pentium III Linux computer. 
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
75
5
document linking or similarity  analysis.  This  design paradigm  should facilitate the 
development of regulation documents that are rich in data content along with processing 
engines that operate from a common data standard.  This section describes some of the 
key pieces of meta-data that are added to the XML regulations. 
3.4.2  Concepts 
One  type  of  metadata  added to  the  regulations  is  an  XML  element  to  denote  the 
conceptual content of a regulation provision.  The word “concept” in this context refers to 
noun-phrases occurring in the regulation that are indicative of the topic being covered in 
the  regulation.    For  example,  the  concept  phrases  “waste  pile”  and  “surface 
impoundment” provide  reasonable  indications  of  what  issues a  regulatory  provision 
covers. 
There are many tools available that may be used to identify key concept noun phrases in a 
document.   The techniques commonly  used  by  these  document analysis  systems  to 
identify key concept noun phrases include techniques such as sentence structure analysis, 
word frequency analysis, and word collocation analysis.  The research work described in 
this thesis makes use of a commercial software product, Semio Tagger, to automatically 
identify concepts in the regulations.  This is the same software package used for the 
categorization purposes described in Chapter 2. 
We use Semio Tagger to extract a list of noun phrases from our document repository text 
corpus.  The text corpus consists of all the regulations in 40 CFR, plus court cases and 
other supplementary documents related to these regulations.  Semio Tagger originally 
extracted 67,106 concepts from the repository.  These concepts were then manually 
scanned to remove noun phrases that were clearly not useful, such as “figure b114-1” and 
“subparts c-d”, such that the list was reduced to 65,857 noun phrases. 
Documents you may be interested
Documents you may be interested