40 
Example URLs 
http://localhost/tiffserver/tiffpilot.exe?FN=C:\inetpub\wwwroot\tiffserver\samples\ccitt.tif&PD=1 
13.2  Data Capture Zoning 
To enable improved productivity in forms-based data capture processes, TIFF Server has a set of 
support functions which can be used to control the exact section of a document that is displayed in the 
top left corner of the document viewer window, and provides a test harness to aid development of 
applications that require such facilities. 
The test harness http://yourserver/tiffserver/zoning.htm can be accessed in a similar fashion to the 
sample pages. 
The facility allows control of the X and Y point which appears at the top left hand corner of the 
display, and can be controlled by making calls to TIFFServerAdjustDisplay() when required – for 
example, moving around a form as a user tabs from one field to another. 
The X and Y values are scaled between 0 and 1.  To assist with determining what values should be 
used to move to a particular point on a page, two methods are  provided – 
TIFFServerEnableClickCapture() to enable the click point capture and TIFFServerGetLastClick()  
which returns a string with the X and Y values separated by a comma.  Capture of multiple point values 
will require repeated use of both methods. The zoning.htm page shows usage of these methods. 
To  adjust the page display such that a particular point is at the top left hand corner of the display, 
TIFFServerAdjustDisplay(x,y) can be used.  Furthermore, to specify a new document to be displayed, 
at a particular point and page, the TIFFServerNewDocument(at_url, at_pstart, x , y) method can be 
used. 
13.2.1  Calling The Methods 
All the methods are client-side JavaScript in aquatiff.asp.  Examples of calling the methods are 
provided in zoning.htm.  Calls take the form of <window ref>.methodname(params) where <window 
ref> is determined by the reference to the window or frame that aquatiff.asp has been invoked in.  For 
example,  in zoning.htm an iframe with an id of tiffserver is used, so method references such as 
tiffserver.TIFFServerGetLastClick() may be used. 
Pdf metadata extract - add, remove, update PDF metadata in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata
edit pdf metadata acrobat; pdf metadata online
Pdf metadata extract - VB.NET PDF metadata library: add, remove, update PDF metadata in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
endnote pdf metadata; bulk edit pdf metadata
41 
14  C
USTOMIZING AND 
C
ONFIGURING 
TIFF
S
ERVER
TIFF Server may be configured in a number of ways, controlled by variables in the config.inc, 
config_ui.inc and config_lang.inc files. 
14.1  Customising The Icon Set (config_ui.inc) 
The product comes with a choice of 2 icon sets which define the look and feel. 
var iconStyle="V2.0"; (This is the default) : 
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
Get image information, such as its location, zonal information, metadata, and so on. Extract image from PDF free in .NET framework application with trial SDK
remove pdf metadata online; embed metadata in pdf
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
information, such as its location, zonal information, metadata, and so on. Able to edit, add, delete, move, and output PDF document image. Extract image from PDF
remove metadata from pdf; pdf xmp metadata
42 
var iconStyle="V1.2"; 
14.2  Display Customizations (config_ui.inc) 
The following variables are supported to allow various display customizations as noted : 
Config Variable 
Notes 
ts_page_title
Used to determine the default aquatiff.asp page title (when 
at_pagetitle is not defined.)  If this variable is set to null in 
config.inc then the page will not have a title. 
ts_thumbnail_width_standard
The pixel or percentage width of the thumbnail frame in thumbs-
-
left mode 
ts_thumbnail_width_full 
The pixel or percentage width of the thumbnail frame in thumbs-
-
left mode when the display is launched using the “Full Window” 
icon. 
ts_fsc_thumbnail_width 
The pixel width of the thumbnail in full thumbnail layout mode 
ts_bgcolor 
Frame background colors 
ts_fgcolor 
Text Color [Mainly for Thumbnail captions] 
ts_info_fgcolor 
Text Color for Infopane 
ts_lhs_thumbnails_max 
This is the maximum number of thumbnails in thumbs-left mode  
The config.inc parameter can be set to the limit value.  If the limit 
value is exceeded, a link “View all Thumbnails” is displayed at the 
bottom of the frame which if clicked will take the user to the 
thumbnails layout page to view all the thumbnails. 
ts_use_sub_page_count 
If it is set to true, then aquatiff.exe is not called to determine the 
actual page count.   
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
|. Home ›› XDoc.PDF ›› C# PDF: Extract, Copy and Paste PDF Pages. C#.NET Sample Code: Extract PDF Pages and Save into a New PDF File in C#.NET.
add metadata to pdf programmatically; extract pdf metadata
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Feel free to define text or images on PDF document and extract accordingly. Multiple metadata types of PDF file can be easily added and processed.
remove pdf metadata; clean pdf metadata
43 
14.3  Configuring The Toolbar (config_ui.inc) 
The image viewer toolbar may be configured by adjusting parameters in the config.inc file.  Each 
toolbar menu item has a boolean variable which determines whether the item should be displayed or 
not.  All toolbar items are shown by default and which variable relates to which option should be clear 
from comments in the file.  For example : 
/* Fit Window */ 
var menu_ftw=true;
14.4  Configuring Printing (config_ui.inc) 
By default the product is configured to use “PDF Printing” where the print button initiates the 
generation of a PDF file (with an openaction of print set) into a hidden frame.  This is transparent to the 
user, but does require Acrobat Reader 5.0 or later to be available on the client PC.  If the product is 
being deployed in an environment where Acrobat Reader will not be available, it may be appropriate to 
set prnt_pdf to false and consider adjusting printWidth : 
/* Print Functionality - Set to True to Use PDF - */ 
/* if set to false JavaScript will be used, */ 
/* but this can only print the current page */ 
var prnt_pdf=true; 
/* Print Width For JavaScript Printing */ 
var printWidth=650;
14.5  Configuring Pan Direction 
The pan direction can be configured via panDirection which can be set to “reverse-y” or “standard.  
Previous releases of TIFF Server did not have this option and behaviour was “reverse-y” 
var panDirection="reverse-y"; 
14.6  Backend Configuration (config.inc) 
TIFF Server supports a number of different backend options, and can be customized to support custom 
methods.  The supported backend options are as follows : 
Option 
Description 
var ts_backend=".NET"; 
This is the default – image processing is carried 
ed 
out via ASP.Net and .Net components. PDF 
generation is initiated by .Net and passed to the 
tiffpilot.exe CGI process. 
var ts_backend="CGI"; 
This was the only option in previous versions.  
Requests are dealt with by the aquatiff.exe and 
tiffpilot.exe CGI processes. 
var ts_backend="DB";  
This allows support for images stored in a SQL 
Server database.  
Option 
Description 
var ts_net_backend="GDIONLY"; 
This only applies when ts_backend=”.NET”.  If 
set to “GDIONLY”, the Microsoft GDI+ classes 
are used for image processing. 
var ts_net_backend="CUSTOM"; 
This only applies when ts_backend=”.NET”.  If 
set to “CUSTOM”, a special customizable class is 
used to obtain image and annotations.  See 14.6 
below. 
C# PDF Text Extract Library: extract text content from PDF file in
XDoc.PDF ›› C# PDF: Extract PDF Text. C# PDF - Extract Text from PDF in C#.NET. Feel Free to Extract Text from PDF Page, Page Region or the Whole PDF File.
c# read pdf metadata; search pdf metadata
VB.NET PDF Text Extract Library: extract text content from PDF
PDF ›› VB.NET PDF: Extract PDF Text. VB.NET PDF - Extract Text from PDF Using VB. How to Extract Text from PDF with VB.NET Sample Codes in .NET Application.
adding metadata to pdf; pdf metadata reader
44 
14.7  Custom Backend Development 
TIFF Server is delivered with the C# source code for a special customizable class, 
AquaforestTIFFServerStream.  This class has three methods which can be used to customize TIFF 
Server so that for example, the product can read encrypted TIFF images or read from  a database other 
than SQL Server.  The sample project uses a simple “encryption” scheme. 
The Microsoft Visual Studio 2005 project can be found in custom/AquaforestTIFFServerStream in the 
TIFF Server installation folder.  
static public MemoryStream GetStream(string TIFFFilePath) 
This method returns a TIFF file as a memory MemoryStream.  The supplied implementation returns the 
TIFF file specified by the TIFFFilePath parameter as a MemoryStream. 
static public string GetAnnotations(string AnFilePath) 
This method returns the contents of an annotation file as a file as a string.  The supplied 
implementation returns the annotation file specified by the AnFilePath parameter as a string. 
static public bool SaveAnnotations(string FilePath, string Annotations) 
This method saves the contents of an annotation file.  The supplied implementation saves the string in 
the specified annotation file. 
14.7.1  Implementing a Custom Backend 
This involves the following steps 
•  Set ts_net_backend=”CUSTOM” in the config.inc file. 
•  Make the required changes to the AquaforestTIFFServerStream class and rebuild. 
•  Move the AquaforestTIFFServerStream.dll (from custom/AquaforestTIFFServerStream/bin) 
to the bin directory. 
•  Run iisreset 
14.8  Edit Functionality and  Custom Modules 
When a custom backend is implemented the following custom method will be called : 
CustomClass.SaveEditedImages(String TIFFFileName, MemoryStream[] TiffStreams, String 
AnnotationFileName, MemoryStream[] AnnotationStreams) 
Where FileName is the full path of the original TIFF file, and one MemoryStream is provided for each 
newly generated TIFF file. 
14.9  File Locking in Edit Functionality with  Custom Modules 
If locking is turned on  (via lock_editdoc in config.inc) and the backend is CUSTOM call will be made 
to a custom module to Lock before opening the edit page : 
Bool CustomClass.Lock(string FileName) 
If this returns true, the user will be allowed to edit.  If it is false, display the message “This file is 
currently being edited by another user!” and return to previous view. 
Similarly an Unlock operation (after save or discard) will also be called. 
Void CustomClass.UnLock(string FileName) 
VB.NET PDF Form Data Read library: extract form data from PDF in
Data: Read, Extract Field Data. |. Home ›› XDoc.PDF ›› VB.NET PDF: Read, Extract Field Data. VB.NET PDF - Read and Extract Field Data in VB.NET.
pdf metadata viewer online; change pdf metadata creation date
C# PDF Library SDK to view, edit, convert, process PDF file for C#
Feel free to define text or images on PDF document and extract accordingly. Multiple metadata types of PDF file can be easily added and processed in C#.NET
view pdf metadata in explorer; edit pdf metadata online
45 
Note : On a normal save, save the images, calls unlock and returns to thumbnail view of the original 
file name (if splits occurred, it will be the new image of the original file name). 
14.10  Secure Redactions. 
By default, black-box annotations (“Redaction”) is not actually “burnt” into the image displayed in the 
browser or PDF file, but is added as a separate layer.  For security, it is possible to configure TIFF 
Server in two alternate ways to securely hide the redacted area. 
Option 1 – The underlying TIFF file is not changed, but Images delivered to users who do not have 
permission to edit redactions will have the redaction burnt-in to both the browser images and generated 
PDF files. 
This can be done by setting ts_secure_redaction=true in the config.inc file.  This feature is only 
available with the .NET backend. 
Option 2 – The underlying TIFF file is actually changed with the area defined by the redaction 
annotation.  This can be performed by using the “Permanently Redact TIFF File” menu button.   To 
enable use of the button set var menu_annots_perm_red=true; in the config.inc file.  It is 
also possible to configure an archive folder, where copies of files prior to redaction are saved.  This can 
be done by setting var redaction_arch_folder="[archive folder location]" in 
config.inc.  Archived files are named timestampname.tif where name.tif is the original file name. 
Option 3 – The underlying TIFF file is actually changed with the area defined by the redaction 
annotation, using a command line tool rather than the TIFF Server interface.  The executable 
burnredaction.exe is in the TIFF Server bin folder. 
burnredaction.exe tiff_file annotation_file archive_folder 
A copy of the image will be saved to the folder defined by  e.  If archive_folder is not specified to a 
copy will not be saved.  The copied file will be named %timestamp%filename where %timestamp is 
the current time and %filename is the original filename. 
14.11  Error and Informational Messages 
14.11.1  Browser Alert Messages 
All alert messages can be customized, suppressed or replaced with alternate functionality by editing the 
messages.js file 
14.11.2  Server Messages 
By default, in the event of an error processing an image, a detailed diagnostic error message is 
displayed in place of the image, and the message is also logged in the TIFF Server log file.  It is 
possible to define a generic message via genericErrorMessage in config_ui.inc that will be 
displayed to the user instead. [The full message is always written to the log file].  The default setting is 
“” which indicates that the detailed message is shown. 
A generic error message can be configured as shown in the following example : 
var genericErrorMessage="There is a problem displaying this page. A 
message has been written to the log file."; 
14.12  Custom Capture Zones 
Two optional menu icons “Select Zone”  and “Capture” are available to support custom zoned capture.  
These menu items can be configured on or off via config.inc (with the variables shown below). 
/* Select Zone / Capture */ 
var menu_selzone=true; 
var menu_capzone=true; 
46 
The presence of the menu items can also be defined via the tiffserer.aspx URL by using at_selzone and 
at_capzone set to “on” or “off”. 
Upon pressing “Select Zone” the user is able to define an area of the image, in a similar fashion to that 
currently allowed by “Print Area”. The user selects a section of the page/image (they should only be 
allowed to select one area at a time, so if they try to zone another section after the first, the first zoned 
area would go away and the new one would be the current zone) 
Then the user can click button called Capture.  This invokes a call to the new custom module method 
SetZonedImage and then clears the Zoned area from the page.  If the call is unsuccessful an error 
message is given, otherwise the clearing of the zoned area will indicate to the user that the operation 
has been successful. 
The “Zone” mode is still available for the user to capture multiple zones until the “Select Zone” icon is 
pressed again, turning the mode off. 
The custom module has the following definition : 
Public bool SetZonedImage(string sFilePath, MemoryStream msImageSection) 
The msImageSection is a stream of an unencrypted image representing the segment of the image 
selected by the user.  The method will return true if successful otherwise false. 
47 
15  C
USTOM 
A
UDITING AND 
S
ECURITY
15.1  Auditing 
TIFF Server can be configured to audit actions taken by users such as viewing or printing TIFF files.  
The variable ts_audit_file in config.inc can be set to specify a log file path.  If the variable is set to the 
empty string  
// Audit File Path - empty string for no auditing - see section 15 of 
the reference guide 
var ts_audit_file="c:/audit/tiffserver.csv"; 
By default the audit file has a CSV format as shown below  
Timestamp, Action, Status, File Path, User ID, IP Address, Request URL 
Example : 
02/06/2008 17:14:11, VIEW, OK , C:\dev\ts30\dev\tiffserver\tiffserver\samples\medical.tif, user1, 
127.0.0.1,http://localhost/tsdev/tssp.aspx?VD=&PC=Y&FN=C:\dev\ts30\dev\tiffserver\tiffserver\samp
les\medical.tif&MD=1 
The set of actions that are written to the audit log are as follows : 
Action 
Description 
VIEW 
Viewing a TIFF file.  Strictly speaking it is actually the initial request for a 
page count that is logged to avoid logging for each individual page that is 
viewed. 
PRINT 
Printing the file via the “Print” Icon 
PDF 
Generating a PDF equivalent of the TIFF file via the “PDF” Icon 
SAVEPDF 
Generating a PDF equivalent of the TIFF file via the “Save PDF” Icon 
GETANNOTATIONS 
Retrieval of the annotation XML file. 
SAVEANNOTATIONS  Updating of the annotation XML file. 
EDIT 
Retrieval of the TIFF file for use in the “Edit” screen. 
SAVEEDIT 
Updating of the TIFF file after using the “Save” icon in the Edit screen. 
15.2  Custom Auditing 
Source code is provided for the auditing class which enables complete customization of action auditing.  
The class is AquaforestTIFFServerAudit and is provided as a project in the TIFF Server custom folder 
(typically C:\Inetpub\wwwroot\tiffserver\custom).  The project will build 
AquaforestTIFFServerAudit.dll and this dll should be placed in the TIFF Server bin folder, replacing 
the distribution copy which should be backed up first. 
48 
15.3  Custom Security 
The AquaforestTIFFServerAudit class can also be used to implement custom  security checks by 
customizing the securityCheck method to return false when a specific request should be rejected.  
The class has access to the complete Action type and the full set of Request and Session objects via 
HttpContext.Current. 
The provided code will ensure a message is issued when access is denied : You do not have 
permission to access this file.  Please contact your system 
administrator. 
15.4  Support for Adapting the AquaforestTIFFServerAudit class 
The code should be reasonably self-explanatory but please email support@aquaforest.com
with any 
questions.   
49 
16  S
UPPORT FOR 
PDF
F
ILES
A new PDF component is included with version 3.5 of TIFF Server that enables PDF files to be able to 
be rendered via a browser in a similar fashion to TIFF files.   Version 3.0 required a separate 3
rd
party 
component (PDF Rasterizer from Tall Components).  This can still be used with this version of TIFF 
Server – see section 16.5 below. 
16.1  Using the PDF File Support 
In order to instruct TIFF Server to use the alternative rendering method the parameter at_alt=1 should 
be added to tiffserver.aspx.  For example : 
http://localhost/tiffserver/tiffserver.aspx?at_url=/images/doc1.tif&at_alt=1
If there is a need to access tssp.aspx directly the parameter AR=1 can be used. 
16.2  Unsupported Functions 
A number of the standard menu items are disabled when displaying PDFs.  These are : 
•  PDF (The PDF download function is still available) 
•  Invert 
•  Edit Document 
•  Print (The document can be printed by opening the PDF download and using Adobe Reader 
Print) 
•  Print Selection 
•  In addition, although annotations can be applied to PDFs these are not carried through to 
“Save PDF” which merely allows the user to download the source PDF file.  
16.3  Conversion Configuration 
Two configuration options are available in config.inc.  The first, ts_renderpdf_dpi specifies the 
dpi to be used in the image generated from each PDF page – the default is 150. 
The second, ts_renderpdf_resize_quality determines the method used to resize the image.  
If it is set to 1 the a high quality smoothing mode is used.  If set to 2 bicubic interpolation is used. 
Session["ts_renderpdf_dpi"]=150; 
Session["ts_renderpdf_resize_quality"]=1; 
16.4  Security Configuration 
In order to work correctly with the PDF to Image conversion component, the IIS application needs to 
have access to the Windows System32 folder and %TEMP%. A symptom of insufficient privilege is 
the PDF page displaying with missing text.  Depending upon system settings, this may require a 
security setting other than anonymous / local system which would not have sufficient privilege. 
Documents you may be interested
Documents you may be interested