c# pdf reader writer : Delete page from pdf reader software Library cloud windows .net winforms class TET-PDF-IFilter-5.0-manual6-part905

5.1  TET PDF IFilter does not work at all 61
5Troubleshooting
5.1 TET PDF IFilter does not work at all
If TET PDF IFilter does not seem to work at all check the items below.
Is TET PDF IFilter correctly registered? You can use the command line tool FiltReg.exe to 
check the correct registration of TET PDF IFilter. The program lists all file extensions 
that have IFilters associated with them by printing the file extension and the name of 
the associated IFilter DLL. The FiltReg.exe program is installed with Microsoft Visual Stu-
dio and is also included in the Windows SDK for Windows 7. For more information see
msdn.microsoft.com/en-us/library/ms692537(VS.85).aspx 
Note For testing the 64-bit edition of TET PDF IFilter the 64-bit version of 
FiltReg.exe
is required. To 
get the 64-bit version it is necessary to install the Windows SDK on a 64-bit machine; other-
wise the 64-bit tools will not be installed.
If TET PDF IFilter is correctly registered, the output of FiltReg.exe includes lines similar to 
the following:
Filters loaded by extension:
...
.pdf --> PDFlib TET PDF IFilter 32-bit (C:\Program Files\PDFlib\TET PDF IFilter 5.0 
64-bit\bin\TETPDFIFilter.dll)
If TET PDF IFilter is not correctly registered you must register it manually (see Section 
»Manual installation«, page 6).
If you have Windows Search installed, you can test proper IFilter registration as fol-
lows: click Start, Control Panel, Indexing Options, Advanced, File Types. This will produce a 
long list of file types and associated filters. In this list, scroll to pdf in the Extension col-
umn. The corresponding entry in the Filter Description column should read PDFlib TET PDF 
IFilter 32-bit (or 64-bit, as appropriate).
TET PDF IFilter and Adobe Acrobat. If you install Adobe Reader or Adobe Acrobat after 
TET PDF IFilter (or run Acrobat’s automatic repair mode), they will overwrite the TET 
PDF IFilter registry entries. You can correct the situation by running the TET PDF IFilter 
installer in repair mode, or by manually registering the TET PDF IFilter DLL according to 
Section »Manual installation«, page 6.
Is the license key available? While TET PDF IFilter can be used without a commercial li-
cense key on Windows XP/Vista/7/8/10, it requires a license key on Windows Server. If 
you work on a server system and PDF indexing does not seem to work, the license key 
for TET PDF IFilter may be missing. In this case TET PDF IFilter will run in evaluation 
mode, which means it is restricted to small documents.
This situation can be detected by checking the Windows event log (see »Application 
event log«, page 66). In case of a problem with the license key there will be an entry with 
source TET PDF IFilter and category TET Error. Double-click on the line containing the error 
and examine the error message. The following text indicates that a valid license key 
could not be found:
Delete page from pdf reader - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
add remove pages from pdf; delete page from pdf document
Delete page from pdf reader - VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Visual Basic Sample Codes to Delete PDF Document Page in .NET
delete pages from a pdf online; cut pages out of pdf file
62
Chapter 5:  Troubleshooting
TET API Error in TetIFilter::Init: open_document_mem:
Invalid license key (error number 1986)
If you find this message you must enter the license key in the registry (see Section 
»Manual installation«, page 6).
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
VB.NET Page: Insert PDF pages; VB.NET Page: Delete PDF pages; VB.NET Annotate: PDF Markup & Drawing. XDoc.Word for XImage.OCR for C#; XImage.Barcode Reader for C#
copy pages from pdf to another pdf; delete pdf pages online
C# PDF Page Insert Library: insert pages into PDF file in C#.net
page processing functions, such as how to merge PDF document files by C# code, how to rotate PDF document page, how to delete PDF page using C# .NET, how to
delete a page from a pdf; delete page on pdf reader
5.2  Problems with TET PDF IFilter Operation 63
5.2 Problems with TET PDF IFilter Operation
If TET PDF IFilter does not seem to work as expected, the analysis methods discussed be-
low may help.
Identifying problematic documents. Depending on the IFilter client in use, logging en-
tries may or may not include the names of affected files, and file names may or may not 
be useful. For example, Indexing Server does include file names, while Windows Search 
does not include them. On the other hand, SharePoint downloads the documents via 
HTTP and creates a temporary local copy. The event log contains the temporary local 
file names which are unrelated to the original URLs. As an aid for identifying the affect-
ed PDF documents the event log entries contain the file size in bytes. You can use the 
search engine itself to quickly identify affected documents.
>In Windows Search you can use the following query expression (assuming 12345 is 
the file size in bytes):
size: = 12345
>In SharePoint you can identify failed attempts to filter a file in the SharePoint crawl 
log (Shared Services Administration: SharedServices, Search Settings, Crawl Log). The er-
rors regarding PDF documents listed here correspond to the errors issued by TET PDF 
IFilter in the Windows application event log. By comparing the file size of the files in 
the crawl log with the entries in the event log you can identify problematic docu-
ments.
Also note the Filtering/@errorIndicator configuration attribute which can be used to emit 
an identifying string for problematic documents in the index (see Section 6.2, »XML Ele-
ments and Attributes«, page 71).
Locked PDF documents are not indexed. If an application locks a PDF file, TET PDF IFil-
ter cannot index the document. In particular, files are locked as long as they are opened 
in Acrobat. While the IFilter client may retry the locked document later, the index will 
be incomplete until the locked document is released. We therefore recommend to avoid 
viewing PDF documents in Acrobat during indexing.
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
PDF: Insert PDF Page. VB.NET PDF - How to Insert a New Page to PDF in VB.NET. Easy to Use VB.NET APIs to Add a New Blank Page to PDF Document in VB.NET Program.
delete blank pages from pdf file; delete pdf pages in preview
C# PDF remove image library: remove, delete images from PDF in C#.
Delete and remove all image objects contained in a to remove a specific image from PDF document page. PDF image in preview without adobe PDF reader component.
delete pdf pages in reader; delete pdf page acrobat
64
Chapter 5:  Troubleshooting
5.3 PDF Documents are not or not completely indexed
SharePoint Server and Search Server are subject to limitations which affect indexing of 
large documents. Since these limitations are not well explained in Microsoft documen-
tation the following notes collect information based on Microsoft support articles and 
blogs. These notes are not authoritative; if in doubt please contact Microsoft for guid-
ance.
5.3.1 Limitations in SharePoint 2010 and SharePoint 2013
SharePoint imposes several limitations on document indexing. You can find more in-
formation about fixed and configurable limits in SharePoint 2013 at
https://technet.microsoft.com/en-us/library/cc262787%28v=office.15%29.aspx 
The following SharePoint limitations are imposed upon TET PDF IFilter:
>The maximum file size (MaxDownloadSize) specifies the maximum size of docu-
ments which will be crawled and indexed. The default value for SharePoint 2013 is 
64 MB.
>The maximum growth factor (MaxGrowFactor) specifies a factor with which the 
MaxDownloadSize value is multiplied to determine the maximum amount of text for 
an indexed document. This factor is necessary because the text may be compressed 
inside the file, as is usually the case for PDF documents (unit: none, default: 4).
>The parsed content size specifies how many characters from a document can be in-
dexed. SharePoint 2013 has a hard-coded limit of 2 million characters. This limit can-
not be modified.
Changing maximum file size and growth factor for SharePoint 2010 and 2013. Apply 
the following command in the SharePoint 2013 Management Shell (add -id <GUID of SSA> to 
the first command if you have multiple search services):
$ssa = Get-SPEnterpriseSearchServiceApplication
$ssa.SetProperty("MaxDownloadSize", ...new value...)
A similar sequence can be applied to set MaxGrowFactor. You can check the current val-
ues as follows:
$ssa = Get-SPEnterpriseSearchServiceApplication
$ssa.GetProperty("MaxDownloadSize")
5.3.2 Limitations in earlier SharePoint Versions
The default value of MaxDownloadSize is 16 MB, the default value of MaxGrowFactor is 4 
(see Section 5.3.1, »Limitations in SharePoint 2010 and SharePoint 2013«, page 64, for an 
explanation of these values), resulting in a maximum of 64 MB of extracted text per 
document. Depending on the exact product and version the MaxDownloadSize and 
MaxGrowFactor registry entries can be found under the following keys in the Windows 
registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\<version>
\Search\Applications\<GUID>\Gathering Manager
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\<version>
\Search\Applications\<GUID>\Gathering Manager
VB.NET PDF delete text library: delete, remove text from PDF file
adobe PDF reader component installed. Able to pull text out of selected PDF page or all PDF document in .NET WinForms application. Able to delete text characters
delete page from pdf acrobat; add and remove pages from a pdf
VB.NET PDF remove image library: remove, delete images from PDF in
Delete image objects in selected PDF page in ASPX a specific image from PDF document page in VB.NET PDF image in preview without adobe PDF reader component in
delete pages from pdf online; delete a page from a pdf reader
5.3  PDF Documents are not or not completely indexed 65
HKEY_LOCAL_MACHINE\Software\Microsoft\SPSSearch\Gathering Manager
The GUID will vary from installation to installation.
Chunk buffer size. Another limitation affects the total number of unique words per 
document which can be indexed. The value CB_ChunkBufferSizeInMegaBytes determines 
the space which is reserved for the collection of unique words per document (unit: MB, 
default: 8).
Bytes reserved for document. The value CB_MinBytesReservedForDoc depends on the 
CB_ChunkBufferSizeInMegaBytes value. It should be 2 MB less than the value of CB_
ChunkBufferSizeInMegaBytes, although this relation is not true for the default values 
(unit: bytes, default: 3,145,728).
Depending on the exact product and version the CB_ChunkBufferSizeInMegaBytes and 
CB_MinBytesReservedForDoc registry entries can be found under the following keys in the 
Windows registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\<version>
\Search\Global\Gathering Manager
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\<version>
\Search\Global\Gathering Manager
A Microsoft support article which describes these values for Microsoft Office SharePoint 
Server 2007 can be found here:
support.microsoft.com/kb/970776/EN-US 
5.3.3 Memory Limits for Search Server
The crawling process for Search Server 2008 is subject to certain memory limits which 
may prevent successful crawling of some documents. These limits can be controlled 
with registry entries:
>The registry key DedicatedFilterProcessMemoryQuota places a limit on memory usage.
>If an IFilter uses an amount of memory that exceeds the value of the registry key 
FilterProcessMemoryQuota, the crawler kills the process. Microsoft recommends to in-
crease the default value if a 64-bit build of Search Server is used and the index server 
has more than 4GB of physical memory.
The registry entries mentioned above can be found under the following key in the Win-
dows registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\<version>
\Search\Global\Gathering Manager
For more details please refer to the following article:
technet.microsoft.com/en-us/library/dd630760.aspx 
C# PDF: PDF Document Viewer & Reader SDK for Windows Forms
BurnAnnotation: Burn all annotations to PDF page. DeleteAnnotation: Delete all selected annotations. guidance for you to create and add a PDF document viewer &
delete a page from a pdf acrobat; delete page from pdf online
C# PDF delete text Library: delete, remove text from PDF file in
PDF file in preview without adobe PDF reader component installed in code able to help users delete text characters to pull text out of selected PDF page or all
delete pages from pdf document; delete a page from a pdf online
66
Chapter 5:  Troubleshooting
5.4 Debugging Facilities
If the search results don’t match your expectation and you suspect problems with the 
text contents extracted from the indexed documents the debugging tools discussed be-
low may be helpful.
Application event log. TET PDF IFilter creates entries in the Windows event log for var-
ious events. You can check the application event log as follows:
>Windows Vista/7: Click Start, in the Start Search box type Event Viewer (or the corre-
sponding localized term, e.g. Ereignisanzeige in German versions of Windows), click 
on the Event Viewer program. In the Event Viewer window click on Windows Logs, 
Application.
Windows 8/10: Open the Windows Search charm by pressing the Windows key and F, 
select Settings under the Search text entry field and enter View event logs (or the cor-
responding localized term, e.g. Ereignisprotokolle in German versions of Windows) in 
the Search text entry field. Click on the View event logs icon that turns up as the 
search result. In the Event Viewer window click on Windows Logs, Application.
>TET PDF IFilter filtering events create an entry with source TET PDF IFilter. Double-
click on the line containing the error and examine the error message.
Entries in the application event log can be enabled for various classes of events by set-
ting the registry value
HKEY_LOCAL_MACHINE\SOFTWARE\PDFlib\TET PDF IFilter5\5.0\logging
to a DWORD value according to Table 5.1. The logging level is set to 1 by default.
Note 
that a PDF document may result in more than one error message in the event log, e.g. 
each damaged page may generate an entry.
Which properties and which text are emitted by TET PDF IFilter for a document? In or-
der to see the exact text that TET PDF IFilter extracts from a particular document, the 
tool FiltDump.exe from the Windows SDK can be used. Again, for testing the 64-bit TET 
PDF IFilter DLL the 64-bit version of this tool is required. For more information see
msdn.microsoft.com/en-us/library/ms692535(VS.85).aspx 
With the option -o the output of FiltDump.exe can be redirected to a UTF-16-encoded file. 
This makes it possible to see the exact Unicode text and the detected locale (LCID) for 
the text which is emitted by TET PDF IFilter. Sample invocation:
Table 5.1 Logging levels for the Windows event log
Level
Summary
Logged events
0
silent
None: all error messages are suppressed
1 (default)
errors
All failed TET function calls and exceptions thrown by TET, e.g. invalid or missing license 
key, encrypted PDFs which require a user password, severely damaged PDF documents 
which cannot be repaired; problems reading the registry; problems parsing the configura-
tion file.
2
activity
Like 1, plus all Load() and Init() IFilter interface calls; XML configuration file reading
3
details
Like 2, plus details on IFilter interface calls for retrieving text and properties including 
LCID. This level creates a large number of log entries.
5.4  Debugging Facilities 67
FiltDump.exe -o udhr_japanese.txt udhr_japanese.pdf 
Sample output:
FILE: udhr_japanese.pdf
IFILTER: CLSID == {47A1AF35-C345-475D-AE68-EB07E948BD07}
IFILTER: Using IPersistStream
IFILTER: IFilter->Init returned IFILTER_FLAGS_OLE_PROPERTIES flag
CHUNK: ---------------------------------------------------------------
Attribute = {007867F0-C59B-43FC-AB1E-8EEE77057254}\3 (Unknown)
idChunk = 1
BreakType = 2 (Sentence)
Flags (chunkstate) =  (Value)
Locale = 1031 (0x407)
IdChunkSource = 1
cwcStartSource = 0
cwcLenSource = 0
VALUE: ---------------------------------------------------------------
Type = 31 (0x1f), VT_LPWSTR
Value = "4.0"
CHUNK: ---------------------------------------------------------------
Attribute = {007867F0-C59B-43FC-AB1E-8EEE77057254}\4 (Unknown)
idChunk = 3
BreakType = 2 (Sentence)
Flags (chunkstate) =  (Value)
Locale = 1031 (0x407)
IdChunkSource = 3
cwcStartSource = 0
cwcLenSource = 0
VALUE: ---------------------------------------------------------------
Type = 64 (0x40), VT_FILETIME
Value = "2010/06/10:08:28:04.587"
CHUNK: ---------------------------------------------------------------
Attribute = {B725F130-47EF-101A-A5F1-02608C9EEBAC}\19 (System.Search.Contents)
idChunk = 11
BreakType = 2 (Sentence)
Flags (chunkstate) =  (Text)
Locale = 9 (0x9)
IdChunkSource = 11
cwcStartSource = 0
cwcLenSource = 0
TEXT: ----------------------------------------------------------------
UDHR – Japanese 
CHUNK: ---------------------------------------------------------------
Attribute = {B725F130-47EF-101A-A5F1-02608C9EEBAC}\19 (System.Search.Contents)
idChunk = 12
BreakType = 2 (Sentence)
Flags (chunkstate) =  (Text)
Locale = 17 (0x11)
IdChunkSource = 12
68
Chapter 5:  Troubleshooting
cwcStartSource = 0
cwcLenSource = 0
TEXT: ----------------------------------------------------------------
...text contents of the document...
TET kernel logging. You can enable detailed TET logging in order to analyze the behav-
ior of the TET kernel as driven by TET PDF IFilter. TET logging can be activated as follows:
>By setting suitable TET options in the XML configuration file (make sure to specify 
the file name of the XML configuration file in the registry, see Chapter 6, »XML Con-
figuration File«, page 69):
<Tet>
<TetOptions>logging={filename=C:\debug.log classes={pcos=2}}</TetOptions>
</Tet>
This will create a log file with details about internal calls to TET functions, error mes-
sages, etc. Make sure to use a file name which will be writable for the service which 
calls TET PDF IFilter, and keep in mind that TET logging creates lots of output and 
slows down the filtering process.
>By setting an environment variable with Powershell:
PS C:\> ${env:TET PDF IFILTERLOGGING} = "filename=tet.log classes={filesearch=3}"
6.1  Working with Configuration Files 69
6XML Configuration File
6.1 Working with Configuration Files
The operation of TET PDF IFilter can be controlled with an XML configuration file. Sam-
ple configuration files are installed with TET PDF IFilter.
Specifying the location of the configuration file. The configuration file can be speci-
fied in the following registry key which contains a String value with the full path name 
of the configuration file:
HKEY_LOCAL_MACHINE\SOFTWARE\PDFlib\TET PDF IFilter5\configfile
Note It is recommended to place XML configuration files outside the installation directory of 
TET PDF IFilter. This way the configuration will survive if the installation directory changes, e.g. 
after installing an updated version of TET PDF IFilter.
If this registry entry does not exist or contains an empty string, the default configura-
tion will be used. If the configuration file specified in the registry entry cannot be 
opened, a warning will be written to the application event log, and the default configu-
ration will be used for indexing. If XML parsing of the configuration file fails, a warning 
will be written to the event log, and no indexing will be done.
Note The installer does not create a registry entry for a configuration file. This must be done by the 
user if required.
Only a single configuration file can be used for TET PDF IFilter on a machine. However, 
the 32-bit and 64-bit versions can use different configuration files on the same machine 
since the above registry entry will be searched in the 32-bit and 64-bit registry, respec-
tively.
If you changed the configuration file you must rebuild the index for the changes to 
become active.
Predefined XML configuration files. Several predefined configuration files are in-
stalled with TET PDF IFilter:
>The file default.xml describes the internal default settings of TET PDF IFilter. It may 
serve as a starting point for creating a customized configuration file.
>The file starter.xml contains property definitions which can be used with the starter 
samples that are installed with TET PDF IFilter.
XML namespace and schema description. Table 6.1 lists the elements and attributes 
which are available in the XML configuration file. The namespace URI for the XML con-
figuration is
http://www.pdflib.com/XML/TET_PDF_IFilter3/TET_PDF_IFilter_Config-3.0.xsd
Note The schema namespace URI and download location contain the version number 3 since the 
current schema is compatible with the schema used in TET PDF IFilter 3.0.
70
Chapter 6:  XML Configuration File
An XSD schema description for the XML configuration language is installed with TET 
PDF IFilter, and can also be found at the URI above which serves as namespace identifier. 
You can use the schema file with a suitable XML editor to make sure that the generated 
XML configuration file adheres to the syntax expected by TET PDF IFilter.
Custom data types for XML elements and attributes. Except where a value description 
is provided, all elements are empty. The following custom data types are used in the 
XML configuration file:
>LCID: hexadecimal or decimal locale identifier; see
msdn.microsoft.com/en-us/library/ms776294(VS.85).aspx 
The value 0x0800 will be translated to the current system default locale.
>GUID: unique 128-bit identifier in hexadecimal notation according to ITU-T Rec. 
X.667 (see www.itu.int/ITU-T/studygroups/com17/oid/X.667-E.pdf). The parts must be 
separated by dash characters »-«. There are various tools available for creating 
GUIDs; you can also use online services, e.g. the one which is available at
www.itu.int/ITU-T/asn1/uuid.html 
>pCOS path: extended pCOS path describing a PDF object, see pCOS Reference and the 
pCOS extensions described in Section »Extended pCOS paths«, page 38
>Option list: string containing an option list according to the syntax specified in the 
PDFlib TET Reference Manual.
>Language identifier: XMP language qualifier according to RFC 1766, or x-default 
which identifies the default language in the document.
Documents you may be interested
Documents you may be interested