convert pdf to image asp.net c# : Change security on pdf Library control component .net azure winforms mvc Nurminen5-part1430

43
5
EMPIRICAL EVALUATION
The focus and purpose of this thesis work is in practical applications of extracting data
from scientific publications. These publications often employ a conservative color pal-
ette and a limited amount of visual gimmickry. The publications are, for the most part,
carefully written and their layouts are designed by professionals working for different
publishers. The typical tables in such publications have multiple header rows that are as-
sociated with the entire body of the table. 
For these reasons, getting a good evaluation on the “good”, lucid, and well formed
tables is more important than it is on the nonconforming, very complex, or “badly”
formed tables. In other words to get a perfect score on easy tables is more important
than to get a good score on difficult tables.
5.1
Evaluation metrics and performance
The evaluation of a table data extraction algorithm is not a completely trivial matter.
The evaluation is divided into two separate parts: evaluating table detection and bound-
ary recognition, and evaluating table structure recognition. This method of evaluation
has been proposed by Göbel et al. [14] and it provides a reasonable, standardized way
of comparing the performance of different algorithms.
5.1.1 Evaluating table structure recognition
The performance of the table structure recognition algorithm is based on the cellular
structure of the table. The cell structure is defined as a matrix of cells. Ground truth val-
ues are set manually for each table in the test data set for comparison as described in
Chapter 5.2.
Instead of comparing absolute row and column index values for each cell, only
neighboring cell relationships are evaluated. This method of table structure evaluation
has been proposed by Hurst [15] and it has a number of advantages against the more
simple row and column index number evaluation.  
The method developed by Hurst evaluates the performance of a table structure recog-
nition algorithm with an abstract geometric model, where spatial associations between
the table cells are known as proto-links, that exist between immediate neighboring cells.
With this model, a variety of errors that may occur can be considered separately (e.g.
cells can be split in one direction, merged in another; entire blank columns can appear).
The main idea is that the model allows for errors that are insignificant for the overall
structure of a table. One extra column in the middle of the table does not ruin the scor-
Change security on pdf - C# PDF Digital Signature Library: add, remove, update PDF digital signatures in C#.net, ASP.NET, MVC, WPF
Help to Improve the Security of Your PDF File by Adding Digital Signatures
change pdf security settings; pdf security remover
Change security on pdf - VB.NET PDF Digital Signature Library: add, remove, update PDF digital signatures in vb.net, ASP.NET, MVC, WPF
Guide VB.NET Programmers to Improve the Security of Your PDF File by Adding Digital Signatures
decrypt pdf with password; convert locked pdf to word
44
ing for the remaining columns. A visualization of proto-links in a table is shown in Fig-
ure 27.
Figure 27: Comparison of an incorrectly detected cell structure with the ground truth.
source: Göbel et al. [14]
Table structure recognition evaluation uses an F-score to quantify the performance of
the structure definition algorithm. F-score is defined as:
where recall and precision are defined as:
Panel a in Figure 27 shows the correct proto-links as dark squares, of which there are 31
(total adjacency relations). Panel b in Figure 27 shows an example case of algorithm
output, with an incorrectly split 3
rd
column, resulting in only 24 correct adjacency rela-
tions, and 4 incorrect adjacency relations, making the total of detected adjacency rela-
tions 28 (24+4). In this example case the F-score would be calculated as follows:
F=2⋅
precision⋅recall
precision+recall
,
Recall=
correctadjacencyrelations
totaladjacencyrelations
,
Precision=
correctadjacencyrelations
detected adjacencyrelations
.
VB.NET PDF Password Library: add, remove, edit PDF file password
Add password to PDF. Change PDF original password. Remove password from PDF. Set PDF security level. VB.NET: Necessary DLLs for PDF Password Edit.
pdf security password; add security to pdf
C# PDF Password Library: add, remove, edit PDF file password in C#
Able to change password on adobe PDF document in C#.NET. To help protect your PDF document in C# project, XDoc.PDF provides some PDF security settings.
convert secure webpage to pdf; pdf encryption
45
The F-score is calculated so that each document in the test set has the same weight in
the average precision and recall scores, no matter how many tables it contains. Tables
found within the pages of a single document are usually quite uniform in their layout.
Calculating the F-score on a document level, rather than table level, eliminates the ef-
fects of long documents with a lot of similarly (or identically) laid out tables affecting
the score disproportionately.
Establishing the correct adjacency relations requires manual examination of each ta-
ble in the used data set, and sometimes the correct division of cells is ambiguous. This
method of comparison does not allow for either-or relationships between the table cells.
Cells that span through multiple columns or rows can have more than four neighboring
cells.
Because the table proto-links that are compared to the ground truth proto-links, do
not have any cell coordinates, only the cell contents are matched to asses if the right ad-
jacency relationship exists. In the implementation of the structure performance analysis
method, in case of tables where multiple cells contains the exact same content, the same
proto-link can exists multiple times, without any problems. For example if the ground
truth table would contain the relationship “A above B” two times, and the comparison
table three times, recall for this particular relationship is 2/2, and precision 2/3.
5.1.2 Evaluating table detection
Table detection, in its essence, is a segregation task. The goal is to separate the elements
of a page into table-, and non-table elements. The table detection evaluation measures
the ability of the algorithm to find tables within the pages of a PDF document in terms
of completeness and purity. The definitions of completeness and purity are taken from
Silva [16]. The two terms are defined in the context of table detection evaluation as fol-
lows:
• Completeness: proportion of tables containing all of their elements with respect
to the total number of tables on the page. In order for a table to be complete, it
must contain all of its elements.
Recall=
24
31
≈77.4%
Precision=
24
28
≈85.7%
F=2⋅
0.857⋅0.774
0.857+0.774
≈81,3%
Completeness=
completelyidentifiedtables
totalground truthtables
.
Online Change your PDF file Permission Settings
easy as possible to change your PDF file permission settings. You can receive the locked PDF by simply clicking download and you are good to go!. Web Security.
convert secure pdf to word; copy paste encrypted pdf
C# HTML5 Viewer: Load, View, Convert, Annotate and Edit PDF
HTML5 Viewer. How to improve PDF document security. PDF Version. • C#.NET RasterEdge HTML5 Viewer supports adobe PDF version 1.3, 1.4, 1.5, 1.6 and 1.7.
decrypt pdf online; creating a secure pdf document
46
• Purity: proportion of tables containing only correctly assigned elements with re-
spect to the total number of tables on the page. In order for a table to be pure, it
must contain only correctly assigned elements.
The harmonic mean of completeness and purity (CPF) is used as the measure for the
overall performance of the table detection algorithms. It is defined as:
CPF is calculated so that each document in the test data set, no matter how many tables
it contains, has the same weight in the purity and completeness average score.
The resulting purity-score is an indicator for how well the recognized area is within
the bounds of the ground truth area. The completeness-score is an indicator of how well
the recognized area covers the whole defined ground truth table area. The CPF score, is
an indicator of the overall performance of the algorithms. 
Why this method of comparison is chosen over the element-based F-score compari-
son used in table structure recognition, is that it provides a more useful indication in
typical table recognition error scenarios. Comparing a single table on a page to another
table using the element based F-score would work just fine. The usefulness of the com-
pleteness and purity is best described by examining a few examples such as a table de-
tection split error, shown in Figure 28.
CPF=2⋅
Completeness⋅Purity
Completeness+Purity
.
Purity=
purelyidentified tables
totalidentified tables
.
C# HTML5 Viewer: Deployment on AzureCloudService
RasterEdge.XDoc.PDF.HTML5Editor.dll. system.webServer> <validation validateIntegratedModeConfiguration="false"/> <security> <requestFiltering
change pdf document security; create encrypted pdf
Online Split PDF file. Best free online split PDF tool.
into Multiple ones. You can receive the PDF files by simply clicking download and you are good to go!. Web Security. We have a privacy
pdf security settings; add security to pdf in reader
47
Figure 28: Split errors are common in table detection. Table elements in the ground
truth definition for the page are shown as black rectangles, and non-table elements as
white rectangles.
One ground truth table is associated with only one comparison table (if any). The as-
sociation is determined by comparing the elements on the page. For each ground truth
table, the association is established with a comparison table that shares the most ele-
ments with it. In rare cases, such as depicted in Figure 28, where two tables share the
exactly same amount of common elements with a ground truth table (8 in this case), the
table with the least amount of overall elements (Table B) is chosen as the associated ta-
ble. In the case shown in Figure 28, the unassociated, detected Table A would be classi-
fied as a false detection.
Another type of common table detection errors is a merge error, where multiple
ground truth tables are recognized as a single table (Figure 29). The difference between
merge- and split errors, is that a split error affects the completeness score negatively,
while a merge error affects the purity score negatively.
Online Remove password from protected PDF file
If we need a password from you, it will not be read or stored. To hlep protect your PDF document in C# project, XDoc.PDF provides some PDF security settings.
change security on pdf; convert locked pdf to word online
VB Imaging - VB Code 93 Generator Tutorial
with a higher density and data security compared with barcode on a certain page of PDF or Word use barcode relocation API solution to change barcode position
copy locked pdf; pdf password unlock
48
Figure 29: Merge errors are common in table detection. Table elements in the ground
truth definition for the page are shown as black rectangles, and non-table elements as
white rectangles.
There is no additional false detection penalty scoring; the falsely detected tables only
increase the purity score denominator, lowering the purity score. With table merge er-
rors, the purity score is affected directly, because two or more ground truth tables de-
tected as one, are never pure.
The tables are rated as either pure or impure, complete or incomplete; there is no
middle ground. If a table area contains even a single non-table element, or an element
from another table, it is assigned as being impure. This method of evaluating perfor-
mance requires quite a large set of test data documents to give an accurate estimation of
the algorithm's performance. 
5.2
Performance evaluation implementation
For performance evaluation, the algorithm outputs an XML file that is compared to a
ground truth XML file. Comparison is done using a Python script. The script reads as its
inputs an element file, that defines the text elements of a page; a ground truth file, that
defines “the correct answers”; and a comparison file, that contains the “opinion” of the
algorithm on the table locations and cellular structure. The element file is needed for de-
termining association between the ground truth and comparison tables.
49
Due to the way that the PDF standard is specified, the word boundaries for textual
elements can be somewhat ambiguous. In other words, the PDF standard does not de-
fine a single correct way of defining words in a document, and two different PDF read-
ers or libraries can have some differences in the way words are specified. To avoid
problems with unwanted textual elements becoming included inside a table area, only
the element center-points are considered when determining whether an element is a part
of a table area or not.
5.3
Test data
The performance evaluations for the algorithms are done using two different data sets,
provided by Göbel et al. [14], called the EU-data set and the US-data set. The EU-data
set currently consists of 34 public domain documents, gathered from various European
Union government websites. The US-data set consists of 25 public domain United
States government website PDF documents. Both data sets contain an eclectic set of ta-
bles, that for the most part surpass the typical scientific publication table complexities
by a large margin (see Chapter 3.2). The test data ground truth table areas exclude both
the table title and legend. The table detection algorithm had to be modified to accommo-
date these changes for the testing phase.
The two used data sets (EU and US) sets are a part of an International Conference on
Document Analysis and Recognition (ICDAR) 2013 table competition
*
and they are
freely available on the Internet [13]. The data sets are likely to be expanded in the fu-
ture, while the authors of Göbel et al. [14] are working towards a more unified toolkit
for standardized testing methods for table detection and structure recognition.  The
ground truths for the data sets are provided by Göbel et al. [14]. Some examples of the
test set tables are shown in Chapter 3.2.
5.4
Performance results
The performances of the table structure recognition algorithm and table detection algo-
rithm were evaluated using two sets of PDF documents, the EU- and the US-data sets
[13]. Measuring the structure recognition performance was done by using manually de-
termined ground truth areas for tables. In other words: completely independently of the
table detection algorithm. 
The documents in both test data sets represent a disproportionate amount of complex
tables, compared to average tables found in scientific publications. Also, both data sets
contain many documents with tables that are either split into multiple table areas on a
single page, or tables that are seemingly connected to each other but should be separated
*
http://www.ic
dar2013.org/
50
into two or more tables. Both of these types of tables are quite a rare occurrence in sci-
entific publications.
5.4.1 Table structure recognition performance results
Long continuous strings of dots and underscores (“.”, “_”) were removed from the table
cell contents before comparison. These characters are commonly used as visual aids in
tables to align stub row headers with their table body data. While these strings of char-
acters can be considered being a part of the textual content of a table, they serve no se-
mantical purpose, and therefore do not need to be extracted. Chapter 5.1.1 describes the
evaluation methods in more detail. The results of the table structure recognition perfor-
mance analysis are presented in Table 30. 
Data
set
Documents Perfect
scores
Precision
Recall
F-Score
EU
34
18
96.70%
96.43%
96.57%
US
25
9
86.34%
87.38%
86.85%
Table 30: Table Structure recognition performance results.
The overall performance of the algorithm could be evaluated as “very good” or “ex-
cellent” based on the results. A major part of the incorrect output of the structure detec-
tion algorithm is due to erroneous output of the edge detection algorithm. The measured
performance score is somewhat affected by the complexity of the test data set tables,
and not directly by the performance of the algorithm, but by ambiguity of some of the
adjacency relations (proto-links) of the table elements. See chapter 7.1 for a more de-
tailed look at the low scoring tables, and for a more in-depth discussion on the perfor-
mance of the algorithm.
Future plans for developing the algorithm include creating a new test data set with
typical scientific publication tables, for an even more accurate evaluation of the perfor-
mance of the algorithm for its intended purpose. Output of the table structure precision
and recall script is supplied for the EU- and the US-data sets as appendices A and B re-
spectively. 
5.4.2 Table detection performance results
The table detection algorithm was adapted to exclude table titles and caption texts, to
suit the test data set ground truth definitions. Table 31 presents the achieved results of
the table detection algorithm.
51
Data
set
Documents Perfect
scores
Purity Completeness
CPF
EU
34
9
77.82%
49.12%
60.22%
US
25
11
73.96%
64.00%
68.62%
Table 31: Table detection performance results.
Overall performance of the algorithm could be evaluated as “modest” based on the re-
sults. The table detection scores are influenced by at least five significant factors:
1. The algorithm has not been designed to detect tables without a defined grid
structure with less than 4 rows (minimum size for gridded tables is 2x2).
2. The algorithm has been designed to include table titles and captions.
◦ Including a title or a caption sets purity to 0% for a table when compared to
the used data sets' ground truth definitions. The algorithm was adapted to ex-
clude table titles and captions for the comparison, but performs better with
them included.
3. Strict yes/ no method of assigning completeness and purity for each table.
◦ One single extra or missing element sets the purity or completeness score of
a table to 0%; there are no almost correct answers.
4. Merging multiple separate table areas into a single table has not been imple-
mented.
5. Splitting unified table areas into multiple separate tables has not been imple-
mented.
Output of the table detection purity and completeness script is supplied for the EU- and
the US-data sets as appendices C and D respectively. 
5.4.3 Performance in terms of time
Most of the processing time used by the algorithm is spent by the edge detection algo-
rithm. The Poppler library renders the document pages into greater than 1000 x 1000
pixel images, depending on the average font size on the page. The large size of the ren-
dered image is required to avoid blurring and cluttering of the table separator lines and
text. There are still a lot of options available for optimizing and improving the edge de-
tection process in the future. 
52
Table 32  shows actual measured times for different parts of the table extraction
process, on a typical 2013 desktop 64-bit computer with Intel i7-2600k CPU, for an
idea of the time required to process PDF documents. 
Data set
Page Rendering
(Poppler)
Edge
Detection
Table
Detection
Table
Structure
recognition
EU
49.8 ms 647.7 ms
20.7 ms
75.3 ms
US
217.0 ms 679.1 ms
18.3 ms
68.5 ms
Table 32: Average page processing times for the algorithms.
Typically processing a single page that contains tables takes under 1 second. Pages
that do not contain any tables are processed approximately 100 ms faster. Both used test
data sets contain tables on most pages, but also pages that do not contain any tables. The
pages that do not contain any tables are not calculated for the table structure recognition
algorithm processing time. The Poppler library page rendering time for the US-data set
was offset from the EU-data set result by a few documents with over 2000 ms page ren-
dering times. The Poppler library does not yet provide a thread safe interface (planned)
which would allow processing multiple pages with multiple threads at the same time.
5.5
Implementation
The practical implementation of the algorithms is made with Qt C++. Qt is an open
source framework for developing applications for multiple platforms, such as Windows,
Mac and Linux systems and various mobile phone platforms. It allows for easy portabil-
ity between these systems and offers an extensive GUI framework. Qt is available under
the LGPL 2.1 and GPL version 3 licenses, and also offers a commercial license for a
fee.
The implementation is made into two separate parts: a shared dynamic link library
module (DLL) and a GUI application for visualizing and debugging the performance of
the algorithm. The DLL is also compiled into a self-standing executable file, for direct
command line usage. Both parts of the implementation are made available online, in-
cluding their source codes.
Scripts for performance evaluations are created with Python scripting language. The
scripts read in XML files in a specified format [13], and evaluate the performance of the
algorithms as described in Chapters 5.1.1 and 5.1.2.
Documents you may be interested
Documents you may be interested