c# view pdf web browser : Extract one page from pdf reader software application project winforms windows wpf UWP 08thesis_migletz4-part112

19
III.    A FRAMEWORK FOR AUTOMATED METADATA 
EXTRACTION 
A. 
FIWALK  
1. 
fiwalk Introduction 
File and Inode Walk (
fiwalk
) is an application that retrieves information from 
disk partitions found on disk images. 
Fiwalk
relies on the programmer’s interface from 
Brian Carrier’s popular open source digital forensics tool, 
Sleuthkit
(TSK)  to locate all 
of the files and orphaned inodes found in a given disk image [11]. The application can 
optionally compute the MD5 or SHA1 cryptographic hash of any objects and then save 
the objects. 
Fiwalk
is also a metadata extraction system. The file system metadata is obtained 
through TSK, and the document metadata is retrieved by using the various metadata 
extraction plug-ins. A disk image is fed into 
fiwalk
, and metadata from the image is 
output formatted as an ARFF (attribute-relation file format) file or a “walk file”. The user 
can make the determination as to which format the output should be in. Figure 5 provides 
the output options. 
Output options: 
-A = ARFF output 
-X = XML output (not currently implemented) 
-B = output 512-byte bloom filter 
-d = debug this program 
-v = Enable SleuthKit verbose flag 
Figure 5.   
fiwalk output options 
2. 
fiwalk Algorithm 
Fiwalk
is built around the basic algorithm provided below. 
1 - Find all of the partitions on the disk.  
2 - For each partition, walk the files. 
3 - For each file, print the requested information. 
4 - For each partition, walk the inodes 
5 - For each inode, print the requested information. 
Extract one page from pdf reader - copy, paste, cut PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use C# Code to Extract PDF Pages, Copy Pages from One PDF File and Paste into Others
copy pdf page into word doc; cutting pdf pages
Extract one page from pdf reader - VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc
delete page from pdf document; pdf extract pages
20
First, 
fiwalk
obtains  the  file  system  and  file  metadata  by  using  the  TSK 
programmer’s interface. The next subchapter provides a more detailed examination of the 
libraries offered through TSK. 
Next 
fiwalk
obtains a list of all the partitions, and for each partition, 
fiwalk
derives a list of all the files. For each file, the file system and associated metadata is 
obtained from TSK, and the appropriate plug-in is called to extract the metadata. Once 
the file is “processed,” an ARFF record is created. 
The user can also choose to process the orphaned files; concurrently, an ARFF 
record is generated for the orphaned file, but the plug-ins are not invoked during orphan 
file processing because the plug-in system relies on filenames to figure out which plug-in 
to invoke. 
3. 
fiwalk Evaluation 
To evaluate 
fiwalk
, disk images obtained from sources in India, Mexico, China, 
Israel, as well as a control image were  processed through 
fiwalk
. Figure 6 below 
provides an excerpt of a disk image that was processed using 
fiwalk
and output in 
ARFF. 
3627, 1, 78, "2007-11-06 19:40:24", "2007-11-06 19:39:56", "2008-02-22 
08:00:00", 1, 2637992, ?, "Documents and Settings/jjm2007/My 
Documents/desktop.ini", jjm2007 
3628, 1, 9974, "2008-01-25 04:20:02", "2008-01-25 04:20:02", "2008-02-
22 08:00:00", 1, 2638008, ?, "Documents and Settings/jjm2007/My 
Documents/DOCX Files/Hello World.docx", jjm2007 
3629, 1, 15066, "2008-02-06 05:51:16", "2008-02-06 05:51:16", "2008-02-
22 08:00:00", 1, 2638032, ?, "Documents and Settings/jjm2007/My 
Documents/DOCX Files/Hello_World2.zip", jjm2007 
3630, 1, 2025, "1980-01-01 08:00:00", "1980-01-01 08:00:00", "2008-02-
22 08:00:00", 1, 2638080, ?, "Documents and Settings/jjm2007/My 
Documents/DOCX 
Files/MS2007_Feb_13_08/MS2007_Feb_13_08/[Content_Types].xml", jjm2007 
Figure 6.   
Output from fiwalk in ARFF 
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
If you are looking for a solution to conveniently delete one page from your PDF document, you can use this VB.NET PDF Library, which supports a variety of PDF
cut pdf pages online; cut pages from pdf
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
C# developers can easily merge and append one PDF document to document imaging toolkit, also offers other advanced PDF document page processing and
reader extract pages from pdf; crop all pages of pdf
21
B. 
USING THE SLEUTHKIT PROGRAMMATICALLY 
The  most  popular  open  source  forensics  tool  is 
Sleuthkit
and 
Autopsy
maintained by Brain Carrier. 
The 
Sleuthkit
(TSK) and 
Autopsy
forensic browser are Unix-based tools that 
were initially released in 2001. TSK is composite of over 20 command-line tools used for 
analyzing disk and file system images for evidence. Autopsy is a front-end browser for 
TSK created to make the analysis process easier for the user [10].  
In addition to TSK’s capability for analyzing disk images, one of its primary 
strengths is the libraries available for use by forensic tool developers.  
TSK consists of four logical libraries. The first library is the disk image file 
format library. This library provides an abstraction to the various file formats such as 
Expert Witness format, Advanced Forensic Format (
AFF
), and raw format. The image file 
format library presents a read-only interface to disk image files and allows programs to 
read data from arbitrary locations in the file without needing to know what format is 
being utilized [11]. 
The  next  library  is  the  volume  system  (media  management)  library,  which 
analyzes the various types of partitions that TSK supports. The volume system library has 
two major interfaces. The first is a function to open a disk image file and detect the 
volume system type. The second is a “walk” function that identifies the volume on a disk 
and processes a callback function for each volume.  
The third library is for file system tools and is the largest. The design is similar to 
the volume system library in that a program opens the disk or partition image file and 
then accesses “walk” functions at the data, metadata, filename, file content, and journal 
levels.   
The final library is the file system library which interprets file system structures 
and allows the retrieval of directory and file system information.   
Although these libraries are described separately, in the current version of TSK, 
they are distributed as a single library, 
libtsk
[11].  
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Open a document. PDFDocument doc = new PDFDocument(inputFilePath); PDFPage page = (PDFPage)pdf.GetPage(0); // Extract all images on one pdf page.
delete page from pdf reader; deleting pages from pdf in preview
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
all. This guiding page will help you merge two or more PDF documents into a single one in a Visual Basic .NET imaging application.
extract one page from pdf acrobat; delete pages from pdf acrobat reader
22
Fiwalk
relies on the TSK interfaces listed below:   
FS_INFO  
– 
structure that describes file systems
IMG_INFO   – 
structure that describes disk images
img_open   - 
opens the image; calls 
do_dimage 
do_dimage  - 
analyzes the image
mm_open  
– 
opens the volume; 
mm_part_walk  
walk each volume;          
-
calls 
mm_act
for each 
mm_act  
analyzes each partition; calls do_vol for ones we can analyze
do_vol  
analyzes each volume
fs_open  
opens the file system; 
dent_walk  
walks the directory structure.
calls 
dent_act
for each file
dent_act   - 
prints file name; calls 
file_walk()
to read each file;
calls 
file_act
for each sector
file_act   - 
prints the block number
C. 
DOMEX-GATEWAY INTERFACE (DGI) 
DGI or Domex-Gateway Interface is the means by which plug-ins communicate with 
fiwalk. Fiwalk puts the data into a file in the file system; the plug-in reads the file and 
returns the data as a series of name:value pairs.  Some of the name:value pairs come from 
TSK while  others  come from the  plug-ins. The job of fiwalk is  to collect all of the 
name:value pairs from each file, as provided by TSK, augment them with name:value pairs 
from the plug-ins, and place the result into a single ARFF file.  
D. 
ARFF  
When working on a data mining problem, bringing the data together into a set of 
instances is the first step. Integrating data from different sources presents many challenges 
such as differing styles, conventions, time periods, degrees of aggregation, and so on. By 
standardizing the format of the data, many of these problems can be alleviated. The attribute-
relation file format (ARFF) provides a standard way of representing data sets that consist of 
independent, unordered instances without involving relationships between the instances. The 
machine learning software Weka accepts ARFF files as a standard input format [52]. 
In order to support a standardized format for analyzing data, fiwalk provides a user 
option for producing requested data from a disk image in ARFF.  
VB.NET PDF Annotate Library: Draw, edit PDF annotation, markups in
to display it. Thus, PDFPage, derived from REPage, is a programming abstraction for representing one PDF page. Annotating Process.
delete page from pdf file online; extract pdf pages
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Using RasterEdge Visual C# .NET PDF page deletion component, developers can easily select one or more PDF pages and delete it/them in both .NET web and Windows
extract pdf pages acrobat; copy web page to pdf
23
IV.    PLUG-INS FOR AUTOMATED METADATA EXTRACTION 
A. 
JPEG PLUG-IN (JPEG_EXTRACT) 
As previously identified, 
jpeg
is the most popular file type today for representing 
digital images. Being able to extract the metadata from the images is important for 
investigators. One of the best known extractor programs of metadata in JPEG files is the 
exif
program  [34]. The 
fiwalk
program comes with  a plug-in that uses the 
exif
program called 
jpeg_extract
.  
If a JPEG file is encountered, 
jpeg_extract
calls the 
exif
program to extract the 
metadata. The metadata returned by exif is processed by 
jpeg_extract
and placed it into 
DGI format for further processing/exporting. 
Figure 7 below is a sample run of 
exif
followed by a sample run (Figure 8) from 
jpeg_extract
using the same file. Output has been truncated for brevity. 
Manufacturer 
Canon 
Model Canon EOS DIGITAL REBEL XTi 
Orientation top - left 
Date and Time 
2007:12:23 00:53:23 
ThumbnailSize 
9822 
… 
Figure 7.   
Output from exif program 
Manufacturer: Canon 
Model: Canon EOS DIGITAL REBEL XTi 
Orientation: top - left 
Date-and-Time: 2007:12:23 00:53:23 
ThumbnailSize: 9822 
… 
Figure 8.   
Output from jpeg_extract in DGI format 
B. 
MICROSOFT OFFICE PLUG-IN 
To extract metadata from Microsoft Office documents, two metadata extraction 
plug-ins are implemented. The first plug-in utilizes 
wvSummary
, a previously mentioned 
“helper script” for 
wvWare
. The second plug-in is an expanded XML parser written in 
VB.NET PDF copy, paste image library: copy, paste, cut PDF images
how to copy an image from one page of PDF how to cut image from PDF file page by using doc As PDFDocument = New PDFDocument(inputFilePath) ' Extract all images
delete page from pdf acrobat; extract pages from pdf file
C# PDF: C# Code to Process PDF Document Page Using C#.NET PDF
Able to separate one PDF file into two PDF documents using C#.NET programming code; Free to extract page(s) from source PDF file and combine extracted pages
deleting pages from pdf in reader; combine pages of pdf documents into one
24
Python. This plug-in used to extract metadata from Office Open XML files, the native 
format of Microsoft Office 2007 (Windows), and 2008 (Macintosh).  
1. 
WV PLUG-IN (Word_Extract) 
If a Microsoft Office document (other than Microsoft Office 2007) is recognized, 
then 
word_extract.java
is used. 
Word_extract
is similar to the 
jpeg_extract
plug-
in, and converts the 
wvSummary
output into DGI format. Figure 9 shows the results from 
wvSummary
after the output is translated into DGI format.  
Filename: samples/LibExtractTestFiles/TestFileWithImages.doc 
Editing-Duration: 2009-04-22T19:30:48Z 
msole-codepage: 1252 
Generator:  Microsoft Word 10.0  
Last-Modified: 2008-03-04T03:55:00Z 
Creator:  James and Diane Migletz  
Revision:  3  
Number-of-Pages: 1 
Number-of-Words: 871 
Title:  Task analysis for using Play Station 2 to play DVD movie  
Created: 2008-03-04T03:50:00Z 
Subject:    
Template:  Normal.dot  
Keywords:  Thesis, test  
Description:    
Number-of-Characters: 4971 
Security-Level: 4971 
Last-Saved-by:  Diane Migletz  
Received-From:  James  
msole-codepage: -535 
Number-of-Lines: 41 
Document-Parts: [0, Task analysis for using Play Station 2 to play DVD movie)]  
Default-Locale: 1033 
Number-of-Paragraphs: 11 
Unknown1: 5831 
Company:   Art Teacher  
Scale: FALSE 
Links-Dirty: FALSE 
Unknown3: FALSE 
Document-Pairs: [(0,  Title ), (1, 1)] 
Editor:  First Test  
Unknown6: FALSE 
Unknown7: 662190 
Checked-By:  Professor  
Figure 9.   
Output of Microsoft Word file after processing by word_extract 
25
Figures 10 and 11 contain the output produced by 
word_extract
for Microsoft 
Excel and Power Point documents respectively. The results are very similar to what 
Microsoft Word displays when the 
File -> Properties
menu option is selected.  
Filename: samples/LibExtractTestFiles/TestSpreadsheet.xls 
msole-codepage: 1252 
Generator:  Microsoft Excel  
Last-Modified: 2008-03-05T05:10:40Z 
Creator:  Diane Migletz  
Title:  Test Spreadsheet  
Created: 2008-03-05T05:00:37Z 
Subject:  wvSummary Test  
Keywords:  Thesis, Metadata, test sheet  
Description:  Test spreadsheet for the wvSummary plugin.  
Security-Level: 1093994496 
Last-Saved-by:  Diane Migletz  
msole-codepage: 1252 
Manager:  James Migletz  
Document-Parts: [(0,  TestSheet1 ), (1,  TestSheet2 ), (2,  Sheet3 )] 
Category:  School Related  
Company:  Home  
Scale: FALSE 
Links-Dirty: FALSE 
Unknown3: FALSE 
Document-Pairs: [(0,  Worksheets ), (1, 1701144659)] 
Unknown6: FALSE 
Unknown7: 662190       
Figure 10.   
Output of Microsoft Excel file after processing by word_extract 
26
Filename: samples/LibExtractTestFiles/TestPPPresentation.ppt 
Editing-Duration: 2009-04-22T19:27:12Z 
msole-codepage: 1252 
Generator:  Microsoft PowerPoint  
Last-Modified: 2008-03-05T05:15:00Z 
Creator:  Diane Migletz  
Revision:  3  
Number-of-Words: 18 
Title:  Test Power Point Presentation  
Created: 2008-03-05T05:07:19Z 
Subject:  Test PP presentation for wvSummary  
Keywords:  Thesis, metadata, Power Point  
Description:  Test presentation for the wvSummary plugin.  
Thumbnail: ((GsfClipData*) 0x9b451a0) 
Last-Saved-by:  Diane Migletz  
msole-codepage: 1252 
Number-of-Bytes-in-the-Document: 3502669 
Manager:  James Migletz  
Document-Parts: [(0,  Arial ), (1,  Default Design ), (2,  Test 
Power Point Presentation ), (3,  Slide 2 ), (4,  Slide 3 ), (5,  Hidden 
slide )] 
Category:  School Related  
Number-of-Slides: 4 
Number-of-Paragraphs: 7 
Number-of-Notes: 1 
Number-of-'Multi-Media'-Clips: 0 
:  On-screen Show  
Company:  Home  
Number-of-Hidden-Slides: 1 
Scale: FALSE 
Links-Dirty: FALSE 
Unknown3: FALSE 
Document-Pairs: [(0,  Fonts Used ), (1, 1), (2,  Design Template 
), (3, 1), (4,  Slide Titles ), (5, 218116896)] 
Unknown6: FALSE 
Unknown7: 662190 
Figure 11.   
Output of Microsoft PowerPoint file after processing by word_extract 
2. 
DOCX_Extractor 
When  a  Microsoft  Office  2007  file  in  the  Office  Open  XML  format  is 
encountered, 
fiwalk
invokes the 
docx_extractor
plug-in to retrieve metadata from 
Word, Excel, and Power Point documents.  
The extractor begins by unzipping the 
docx
xlsx
, or 
pptx
archive. Next the 
extractor analyzes the XML to find values associated with alias and tag, id attributes of 
the structured document tag 
<w:sdt>.
These values are important because they provide 
27
additional information that can be used to identify content controls such as textboxes and 
picture content (
.jpeg
) files that have been added to a document. For instance, when a 
user adds a content control in Microsoft Word 2007, a data entry screen in displayed for 
the user to manually enter the Title and Tag names for the control. The alias value in the 
<w:sdt> 
node is tied to the Title, and the tag value in the 
<w:sdt> 
node is derived from 
the Tag entry.  
The extractor also parses the XML to retrieve data store ids and GUIDs, which 
bind the custom pieces to the correct data within the data store [8]. 
The final phase of extraction within the program focuses on more traditional 
metadata. The extractor retrieves metadata found embedded in the following XML tags. 
Creator 
Last Modified 
Created date 
Modified date 
Title 
Subject 
Description 
Application 
Company 
Number of characters, words, lines, paragraphs, pages, etc. 
Template 
Revision number 
Figure 12 contains the output of a .
docx
document after being processed by 
docx_extractor. Note that different 
sdtid
numbers are assigned for the different content 
controls, along with different default paragraph revision id numbers, and a single 
GUID
(globally unique identifier) are all present within the 
.docx
archive. Figure 13 is the 
output of a 
.xlsx 
document, and Figure 14 is the out put of a 
.pptx
document after 
processing by docx_extractor. A limitation of ARFF is that the format does not support 
one-to-many relationships, so unique “names” (Archive-File1, Content-Control2, etc.) for 
the name:value pairs are necessary to address this limitation.  
28
Archive-File1: docProps/app.xml 
Archive-File2: docProps/core.xml 
Archive-File3: word/document.xml 
Archive-File4: webSettings.xml 
Archive-File5: settings.xml 
Archive-File6: styles.xml 
Archive-File7: theme/theme1.xml 
Archive-File8: glossary/document.xml 
Archive-File9: fontTable.xml 
Paragraph-Revision-ID1: 000F1AD8 
Paragraph-Revision-ID-Default1: 00384658 
Content-Control-Alias1: This tests a plain text content control 
Content-Control-Alias2: This tests a combo box 
Content-Control1: PlainText1 
Content-Control2: combo1 
Content-Control-Id1: 12541641 
Content-Control-Id2: 12541644 
Paragraph-Revision-ID2: 00000000 
Paragraph-Revision-ID-Default2: 002242F4 
GUID1: {594B704E-F2DF-432A-86C3-8AC42839A87D} 
GUID2: {7313B4A8-96F3-436E-83A8-C31E3D34AF0D} 
Generator:  Microsoft Office Word 
Company:  NPS 
Template:  Normal.dotm 
Number-of-Pages:  1 
Number-of-Lines:  1 
Number-of-Paragraphs:  1 
Number-of-Words:  29 
Number-of-Characters:  166 
Created:  2008-02-13T17:35:00Z 
Last-Modified:  2008-02-13T17:35:00Z 
Creator:  James Migletz 
Revision:  2 
LastSavedBy:  James Migletz 
Figure 12.   
Output of .docx document after processing by docx_extractor 
Archive-File1: docProps/app.xml 
Archive-File2: docProps/core.xml 
Archive-File3: xl/workbook.xml 
Archive-File4: worksheets/sheet3.xml 
Archive-File5: worksheets/sheet2.xml 
Archive-File6: worksheets/sheet1.xml 
Archive-File7: styles.xml 
Archive-File8: theme/theme1.xml 
Created:  2008-02-07T20:06:09Z 
Last-Modified:  2008-02-07T20:06:41Z 
Creator:  James Migletz 
LastSavedBy:  James Migletz 
Generator:  Microsoft Excel 
Company:  NPS 
Figure 13.   
Output of .xlsx document after processing by docx_extractor 
Documents you may be interested
Documents you may be interested