c# pdf to image without ghostscript : Change font in pdf fillable form SDK Library service wpf .net web page dnn shawn_thesis9-part651

CHAPTER 3. XML REPRESENTATION OF REGULATIONS 
76
6
We have developed a program to read through the regulations and apply the Apache 
Jakarta Lucene word stemmer [24].  Word stemming is the process of reducing words 
down to their word stems.  Reducing words to their stems allows software systems to 
better match words that would not otherwise match.  For example, using word stemming 
we can match “waste” and “wastes”, or “dis
posal” and “dispose”.  Information retrieval 
systems often use word stemming as part of their document retrieval process.  Since we 
envision  the  concepts  we  are  adding  will  be  useful  for  retrieving  documents  and 
performing similarity analysis, word stemming is an important tool for adding concept 
metadata to the regulations.  The Lucene PorterStemmer implements the simple and 
efficient Porter algorithm [72] to stem words.  The Porter algorithm uses a series of 
rewrite rules for a word to reduce the word down to its word stem. 
The basic procedure in adding concepts into the XML document is as follows.  First, both 
the words in the regulation text and the concept list of noun phrases are stemmed using 
the Porter stemming algorithm.  In places where the stemmed regulation text matched the 
stemmed concept phrase, the unstemmed form of the concept is then inserted in the XML 
regulation to annotate the matching regulation text.  The annotation is done by adding an 
XML element containing the concept within the regElement for the regulation provision.  
An example of XML concept elements added for this purpose is shown in Figure 3.8.   
Figure 3.8 Example of concept XML element 
<regElement id=“40.cfr.279.12.b” name=“Use as a dust suppressant”> 
<regText> 
Used oil shall not be managed in surface impoundments or waste piles unless the units are subject 
to regulation under parts 264 or 265 of this chapter. 
</regText> 
<concept name=“waste pile” /> 
<concept name=“surface impoundment” /> 
</regElement> 
Change font in pdf fillable 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 word form to pdf with fillable; convert pdf fillable form
Change font in pdf fillable 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
add attachment to pdf form; pdf fillable forms
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
77
7
Tagging regulations with key conceptual phrases enables two important usages.  First, if 
all the provisions within a regulation are tagged with conceptual phrases, it becomes 
possible to identify similar or related regulation provisions that do not explicitly reference 
each other.  For example, federal regulations generally do not reference state regulations, 
yet someone reading a federal environmental regulation might want to compare it with a 
California  environmental  regulation.    If  the  California  regulations  had  a  different 
structure  or  were  composed  of  separate  regulation  components  issued  by  different 
governing bodies, comparing the California regulations with the federal regulation will be 
a difficult task.  If all the relevant regulations are tagged at the provision level with their 
key conceptual  phrases,  reconciling  the  myriad of regulation  content structures  and 
organizational origins may become a tractable problem.  Even though some terminology 
differs, in general similar regulation provisions should have a number of overlapping key 
conceptual phrases, so that the related federal and California regulation provisions should 
be identifiable. 
Second, tagging regulations with key conceptual phrases enables a tight integration with 
the document repository.   The  concepts  can be considered predefined search  terms.  
Supplementary  documents in  the  document  repository  that also  share a  concept  or 
multiple concepts with a regulatory provision may be strongly related to that regulation.  
Using this idea of predefined search terms means that the XML regulation does not need 
to explicitly reference every related document individually.  Instead, one only needs to 
ensure that  the  important supplementary documents share concepts  with  the  related 
provision.  This approach also has the effect that as documents are added to the document 
repository they immediately become implicitly “linked” from any regulation with which 
they share concepts. 
3.4.3  References 
A second type of metadata applied to the XML framework addresses the references 
embedded in the regulation text.  Regulation provisions tend to contain a large number of 
C# PDF Field Edit Library: insert, delete, update pdf form field
PDF form creator supports to create fillable PDF form in C# Able to add text field to specified PDF file position in C# Support to change font size in PDF form.
convert pdf fill form; convert pdf fillable form to word
C# PDF Text Box Edit Library: add, delete, update PDF text box in
framework. Able to create a fillable and editable text box to PDF document in C#.NET class. Support to change font color in PDF text box.
convert word doc to fillable pdf form; pdf form fill
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
78
8
casual  English  references  to  other  provisions.    The  density  of  cross-referencing  is 
illustrated in Figure 3.9, which shows a sample regulation provision with all cross-
references circled.  These references are cumbersome to look up manually, reducing the 
readability of the regulation text itself.  Moreover, these natural language references are 
difficult for software to make use of; the reference information is not very convenient for 
software programs to interpret.  If references are explicitly marked throughout the XML 
regulations using a standard format, tools making use of reference data can be more 
easily constructed. 
Tools that can make use of regulation references include regulation viewing systems that 
link the references with hyperlinks [66], similarity analysis systems that use references in 
their algorithms [17, 52], and regulation analysis systems that investigate the structure of 
Figure 3.9 Illustration of the density of cross referencing within 40 CFR 
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Change Word hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Word to PDF. Add necessary references: RasterEdge.Imaging.Font.dll.
create a pdf form to fill out and save; create a fillable pdf form online
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Change Excel hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Excel to PDF. Add necessary references: RasterEdge.Imaging.Font.dll.
create pdf fillable form; convert an existing form into a fillable pdf
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
79
9
the regulations.  If regulations are not annotated with references in a standardized format 
in advance, natural language reference tracking capabilities would be needed.  As the 
number and type of regulations increase, extracting the references can be even more 
complicated since different regulations will have slightly different referencing styles.  
Adding reference data at the time an XML regulation is created reduces the complexity 
for the development of other processing systems which need to use the references. 
The  complexity  of  regulation  references  ranges  from  relatively  straightforward  to 
complex.  An example of a straightforward casual English reference is the text “as stated 
in 40 CFR section 262.14(a)(2).”  An example of  a more complex reference is the text 
“the requirements in subparts G  through I of this part” (where  the current part is part 
265).  This latter example can be converted manually into the following list of complete 
references:   40.cfr.265.G,  40.cfr.265.H,  and 40.cfr.265.I.   However,  given the large 
volume  of  federal  and  state  environmental  regulations,  such  manual  translation  of 
references is too time consuming to be practical for existing regulations.  The same 
problem of dealing with a huge number of natural language references has been faced by 
at least one other researcher, Justin Needle, when he was working with JUSTIS, a legal 
research data provider
34
 In an article on the automatic linking of legal citations, Justin 
Needle writes [66]: 
“The  conventional  method  of  creating  hypertext  links  between  documents 
involves manually editing each document and inserting fixed links at the database 
production stage. Unfortunately, there is a major problem. The JUSTIS databases 
contain millions of citations which, in order to achieve the required functionality, 
need to be converted into millions of corresponding hypertext links. The manual 
creation of links on this scale is not really an option since link creation is a 
laborious process, requiring the services of skilled, and expensive, editors. Even if 
an editor is able to identify and process ten links per hour, which is optimistic, 
then the human effort required will be approximately a hundred thousand hours 
34
JUSTIS is available at the web address http://www.justis.com. 
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Change Word hyperlink to PDF hyperlink and bookmark. C#.NET Sample Code: Convert Word to PDF in C#.NET Project. RasterEdge.Imaging.Font.dll.
convert pdf to fillable form online; convert word to fillable pdf form
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
An advanced .NET control to change ODT, ODS, ODP forms to fillable C#.NET Project DLLs: Conversion from OpenOffice to PDF in C#.NET. RasterEdge.Imaging.Font.dll.
convert an existing form into a fillable pdf form; add fillable fields to pdf
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
80
0
per million links created.  …  Clearly, there ought to be a better way of tackling 
the problem.”  
For the research work presented in this thesis, a parsing system was developed using a 
context-free grammar and a semantic representation/interpretation system that is capable 
of tagging regulation provisions with the list of references that they contain.  The parsing 
system consists of two phases.  First, a context-free grammar parser scans through the 
regulation text, constructing parse trees as shown in Figure 3.10.  The original reference 
for the parse tree in Figure 3.10 was, “… 
Subpart O of part 264 or 265”.  Then a 
secondary parser converts the parse tree into lists of fully specified references.  These 
references are inserted into the XML regulation as new child elements of the appropriate 
regElement XML element. 
Note that the references are not tagged as hyperlinks, which would tie the reference to a 
particular source for the referred document.  Rather, the reference tags simply provide a 
complete specification for what regulation provision is referenced.  Where the regulation 
is located is not specified so that an XML regulation viewing system may select any 
document repository of  regulations from which to retrieve  the referenced provision.  
Examples demonstrating the usage of the XML element for regulation references are 
shown in Figure 3.11.  The next section discusses the development of the reference parser 
in detail. 
3.4.3.1  Development of a Reference Parser 
3.4.3.1.1   Simple Tabular Parsing 
Parsing can be viewed as a search problem of matching a particular grammar and lexicon 
to a set of input tokens by constructing all possible parse trees [46].  The grammar 
defines a set of categories and how the categories can be manipulated.  The lexicon  
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Files; Split PDF Document; Remove Password from PDF; Change PDF Permission Settings. VB.NET Demo Code for Converting PowerPoint to PDF. RasterEdge.Imaging.Font.dll
convert word document to pdf fillable form; create a fillable pdf form from a pdf
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Convert multiple pages PowerPoint to fillable and editable PDF documents. C#.NET Demo Code: Convert PowerPoint to PDF in C#.NET RasterEdge.Imaging.Font.dll.
create fillable form pdf online; adding signature to pdf form
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
81
1
Figure 3.10 Example parse tree for identifying regulation references 
Figure 3.11 Example of a reference XML element 
defines to what categories the input tokens belong.  The search problem is associated 
with manipulating the grammar to find all possible matches with the input tokens.  A 
simple top-down, left-to-right parser is described in this section. 
Suppose we start with a very simple model of English grammar.  In this grammar we 
might say that all sentences are composed of a noun plus a verb phrase.  Verb phrases can 
be a verb plus a noun, or simply a single verb.  This grammar can be represented as 
shown in Figure 3.12.  We can then create a small lexicon containing the words “cars”, 
REF 
ASSUME_LEV0 
LEV2’ 
SUBPART  UL’ 
UL 
BACKREFKEY 
LEV1r’ 
LEV1p 
LEV1r 
CONN’  LEV1a’ 
LEV1a 
LEV1s 
INT 
CONN 
PART INT  CONL2 
Subpart 
part 
of 
265 
264 
or 
40.cfr 
<regElement id=“40.cfr.279.12.a” name=“Surface impoundment prohibition” > 
<regText> 
Used oil shall not be managed in surface impoundments or waste piles unless the units are subject to 
regulation under parts 264 or 265 of this chapter. 
</regText> 
<reference id=“40.cfr.264” /> 
<reference id=“40.cfr.265” /> 
</regElement> 
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Create fillable and editable PDF documents from Excel in both .NET WinForms C# Demo Code: Convert Excel to PDF in Visual C# .NET RasterEdge.Imaging.Font.dll.
add attachment to pdf form; create fill pdf form
C# Create PDF Library SDK to convert PDF from other file formats
Create fillable PDF document with fields. Load PDF from existing documents and image in SQL server. RasterEdge.Imaging.Font.dll. RasterEdge.XDoc.PDF.dll.
convert word to pdf fillable form; change font size in pdf fillable form
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
82
2
“oil”, and “use”, in which we define what categories these words may match.  This 
simple lexicon is shown in Figure 3.13. 
We can use the simple grammar and lexicon to parse the sentence “cars use oil”.  We can 
model the parsing process with a category stack, an input stack, and a set of operations 
for manipulating these stacks.  We start the parsing by adding the “S”, or a sentence start 
symbol, to the category stack and the input tokens to the input stack.  We can then use 
two operations to parse the input.  The expand operation is used to expand the top 
category on the category stack using one of the grammar rules in Figure 3.12.  The match 
operation is used to match the top category in the category stack with the top token in the 
input  stack  according  to  the  lexicon  rules  in  Figure  3.13.    A  parse  is  considered 
successful when both the category stack and the input stack are empty.  Table 3.1 shows 
the  successful  parsing  of  the  sentence  “cars  use  oil”,  and  Figure  3.14  shows  the 
corresponding parse tree. 
In this simple tabular parsing strategy, it is necessary to try all possible expansions of the 
grammar categories.  For example, the “VP”  category in Table 3.1 could also have been 
expanded to be a “V”.  Since this expansion  would not have resulted in a successful parse 
the expansion was not used in the example in Table 3.1.  When a program is searching 
for a parse for an input stack, it will not know in advance which expansions will result in 
a successful parse.  Therefore it must perform all possible expansions.  The general 
procedure used, however, is the same as that illustrated in Table 3.1.  It is possible to 
have multiple parses for a single set of input tokens.  It should also be noted that the 
lexicon  may  map  the  same  input  token  to multiple  categories.   The  parser design 
described here is known as left-recursive, and if a grammar rule is left recursive the 
parsing algorithm will not terminate [46].  This is because a rule like “VP 
Æ
VP N” can 
be expanded an infinite number of times.  In our work, left recursive grammar rules are 
not permitted. 
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
83
3
Table 3.1 Simple parsing example 
Category Stack 
Input Stack 
Operation 
Cars use oil 
Start 
N VP 
Cars use oil 
Expand 
VP 
use oil 
Match 
V N 
use oil 
Expand 
Oil 
Match 
Finish 
Figure 3.12 Simple grammar 
Figure 3.13 Simple lexicon 
S
VP
N
V
N
cars
use
oil
Figure 3.14 Simple parse tree 
Æ
N VP 
VP 
Æ
V N 
VP 
Æ
Æ
cars 
Æ
oil 
Æ
use 
Æ
use 
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
84
4
3.4.3.1.2   Constructing a Reference Parse Tree 
As mentioned above, the reference parsing system is based on a simple tabular parser.  
This simple tabular parser must be adapted to the reference identification problem.  The 
simple  tabular  parser  knows  the  start  and  end  of  the  sentence  in  advance,  and 
incorporates this information into the algorithm.  The reference identification problem is 
different from general sentence parsing in that the start and end of the reference are not 
known in advance.  The termination conditions for the reference parser are changed so 
that the parse is considered complete if the category stack is empty.  In other words, the 
input stack does not need to be empty for the parse to be complete.  The parser was also 
modified to recognize a number of special category tokens in addition to the lexicon.  
These special categories, which can be used in addition to a vocabulary specified in the 
lexicon, are shown in Table 3.2.  In addition, grammar specifications can use special 
categories such as “txt(abc)” to match  “abc” input, which makes  some patterns more 
transparent by bypassing the lexicon. 
A third type of grammar category was of the form “ASSUME_LEV1”, where LEV1 
represents the level within the reference hierarchy.  When the parser produces a category 
that starts with “ASSUME_” during a parse, it matches the assumed reference level 
(whatever  follows  the  underscore  after  ASSUME,  in  this  case  “LEV1”)  with  the 
identifier for that level within the XML tree
35
.  This is useful when a natural language 
reference does not fully denote the reference.  For example, in Figure 3.10 the category 
“ASSUME_LEV0” was automatica lly assumed to be “40.cfr”,  because the reference “… 
Subpart O of part 264 or 265” did not exp licitly state that parts 264 and 265 are in 40 
CFR. 
A WordQueue object is used to tokenize and buffer the input.  Regulation provisions are 
read individually and added into the WordQueue.  The tokenized regulation provision is  
35
This is similar to the standard treatment of “empty” rules, except an assumed value is matched. 
CHAPTER 3.  XML REPRESENTATION OF REGULATIONS 
85
5
Table 3.2 Special reference parsing grammar categories 
Category 
Matches 
INT 
Integers 
DEC 
Decimal numbers 
NUM 
Integers or decimal numbers 
UL 
Uppercase letters 
LL 
Lowercase letters 
ROM 
Roman numerals 
BRAC_INT 
Integers enclosed in () 
BRAC_UL 
Uppercase letters enclosed in () 
BRAC_LL 
Lowercase letters enclosed in () 
BRAC_ROM 
Roman numerals enclosed in () 
then passed to the parser to look for a reference.  If a reference is found, the tokens that 
constitute the reference are removed from the queue.  Otherwise, the first token in the 
queue is removed and the input is returned to the parser.  Once the input queue is empty, 
the next regulation provision is read. 
Many experiments have been conducted to develop the algorithm for tokenizing the 
regulation provision text input.  Splitting first on white space and then splitting off any 
trailing punctuation will not work.  Some of the text includes lines like, “oil leaks (as in 
§§279.14(d)(1)).  Materials…”.    The  tokenize
d  version  of  this  line  (using  a  space 
delimiter) should look like, “oil leaks ( as in  § § 279.14 (d) (1) ) . Materials”.  The 
algorithm cannot split on all “.” characters because  some may occur as part of a number.  
It cannot split on all the parenthesis characters because some may be part of an identifier 
“(d)” that should be preserved.  The solution  is to first split the input on white space, and 
then perform a second pass on each individual token.  This second pass involves splitting 
the token into smaller tokens until no more splits are possible.  The process splits off 
Documents you may be interested
Documents you may be interested