open pdf file in new tab in asp.net c# : Erase text from pdf file control Library platform web page asp.net windows web browser pdflib-manual-5_022-part1347

2.3  COM Binding 21
  CLOSE THE PDF DOCUMENT
CALL "PDCLOSE" USING        P,
RC.
  DELETE THE PDF OBJECT
CALL "PDDELETE" USING       P,
RC.
  END THE PROGRAM
MOVE ZERO                   TO RETURN-CODE.
GOBACK.
END PROGRAM HELLO.
2.3 COM Binding
(This section is not included in this edition of the PDFlib manual.)
2.4 C Binding
2.4.1 Availability and Special Considerations for C
PDFlib itself is written in the ANSI C language. In order to use the PDFlib C binding, you 
can use a static or shared library (DLL on Windows and MVS), and you need the central 
PDFlib include file pdflib.h for inclusion in your PDFlib client source modules. Alterna-
tively, pdflibdl.h can be used for dynamically loading the PDFlib DLL at runtime (see Sec-
tion 2.4.3, »Using PDFlib as a DLL loaded at Runtime«, page 22).
2.4.2 The »Hello world« Example in C
The following example shows a simple C program which links against a static or shared/
dynamic PDFlib library:
#include <stdio.h>
#include <stdlib.h>
#include "pdflib.h"
int
main(void)
{
PDF *p;
int font;
/* create a new PDFlib object */
if ((p = PDF_new()) == (PDF *) 0)
{
printf("Couldn't create PDFlib object (out of memory)!\n");
return(2);
}
PDF_TRY(p) {
/* open new PDF file */
if (PDF_open_file(p, "hello.pdf") == -1) {
printf("Error: %s\n", PDF_get_errmsg(p));
Erase text from pdf file - delete, remove text from PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# developers to use mature APIs to delete and remove text content from PDF document
delete text from pdf file; remove text from pdf reader
Erase text from pdf file - VB.NET PDF delete text library: delete, remove text from PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Programming Guide to Delete Text from PDF File
how to remove highlighted text in pdf; how to erase text in pdf file
22
Chapter 2:  PDFlib Language Bindings
return(2);
}
PDF_set_info(p, "Creator", "hello.c");
PDF_set_info(p, "Author", "Thomas Merz");
PDF_set_info(p, "Title", "Hello, world (C)!");
PDF_begin_page(p, a4_width, a4_height);
/* start a new page*/
/* Change "host" encoding to "winansi" or whatever you need! */
font = PDF_load_font(p, "Helvetica-Bold", 0, "host", "");
PDF_setfont(p, font, 24);
PDF_set_text_pos(p, 50, 700);
PDF_show(p, "Hello, world!");
PDF_continue_text(p, "(says C)");
PDF_end_page(p);
/* close page */
PDF_close(p);
/* close PDF document*/
}
PDF_CATCH(p) {
printf("PDFlib exception occurred in hello sample:\n");
printf("[%d] %s: %s\n",
PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p));
PDF_delete(p);
return(2);
}
PDF_delete(p);
/* delete the PDFlib object */
return 0;
}
2.4.3 Using PDFlib as a DLL loaded at Runtime
While most clients will use PDFlib as a statically bound library or a dynamic library 
which is bound at link time, you can also load the PDFlib DLL at runtime and dynamical-
ly fetch pointers to all API functions. This is especially useful on MVS where the library 
is customarily loaded as a DLL at runtime without linking to PDFlib at all. PDFlib sup-
ports a special mechanism to facilitate this usage. It works as follows:
>Include pdflibdl.h instead of pdflib.h.
>Compile the auxiliary module pdflibdl.c and link your application against it.
>Use PDF_boot_dll( ), and use function pointers for all PDFlib calls.
Note Loading the PDFlib DLL at runtime is supported on selected platforms only.
The following example loads the PDFlib DLL at runtime using the PDF_boot_dll( ) helper 
function:
#include <stdio.h>
#include <stdlib.h>
#include "pdflibdl.h"
int
main(void)
C# PDF Text Redact Library: select, redact text content from PDF
application. Free online C# source code to erase text from adobe PDF file in Visual Studio. NET class without adobe reader installed.
how to remove text watermark from pdf; acrobat remove text from pdf
C# HTML5 Viewer: Load, View, Convert, Annotate and Edit PDF
logo to PDF document, you and load and save it to current PDF file. Redact tab on viewer empower users to redact and erase PDF text, erase PDF images and erase
erase text from pdf file; how to delete text in a pdf file
2.4  C Binding 23
{
PDF *p;
int font;
PDFlib_api *PDFlib;
/* load the PDFlib dynamic library  */
if ((PDFlib = PDF_boot_dll()) == NULL)
{
fprintf(stderr, "Error: couldn't load PDFlib DLL.\n");
return(2);
}
/* create a new PDFlib object */
if ((p = PDFlib->PDF_new()) == (PDF *) 0)
{
printf("Couldn't create PDFlib object (out of memory)!\n");
return(2);
}
PDF_TRY(p) {
/* open new PDF file */
if (PDFlib->PDF_open_file(p, "hellodl.pdf") == -1) {
printf("Error: %s\n", PDFlib->PDF_get_errmsg(p));
return(2);
}
PDFlib->PDF_set_info(p, "Creator", "hello.c");
PDFlib->PDF_set_info(p, "Author", "Thomas Merz");
PDFlib->PDF_set_info(p, "Title", "Hello, world (C DLL)!");
PDFlib->PDF_begin_page(p, a4_width, a4_height);
/* start a new page */
/* Change "host" encoding to "winansi" or whatever you need! */
font = PDFlib->PDF_load_font(p, "Helvetica-Bold", 0, "host", "");
PDFlib->PDF_setfont(p, font, 24);
PDFlib->PDF_set_text_pos(p, 50, 700);
PDFlib->PDF_show(p, "Hello, world!");
PDFlib->PDF_continue_text(p, "(says C DLL)");
PDFlib->PDF_end_page(p);
/* close page */
PDFlib->PDF_close(p);
/* close PDF document */
}
PDF_CATCH(p) {
printf("PDFlib exception occurred in hellodl sample:\n");
printf("[%d] %s: %s\n",
PDFlib->PDF_get_errnum(p), PDFlib->PDF_get_apiname(p),
PDFlib->PDF_get_errmsg(p));
PDFlib->PDF_delete(p);
return(2);
}
PDFlib->PDF_delete(p);
/* delete the PDFlib object */
PDF_shutdown_dll(PDFlib);
/* unload the library */
C# WPF Viewer: Load, View, Convert, Annotate and Edit PDF
Insert text box to PDF file. • Draw markups to PDF document. PDF Protection. • Add signatures to PDF document. • Erase PDF text. • Erase PDF images.
how to delete text from pdf; delete text from pdf with acrobat
C# WinForms Viewer: Load, View, Convert, Annotate and Edit PDF
Add text box to PDF file in preview. • Draw PDF markups. PDF Protection. • Sign PDF document with signature. • Erase PDF text. • Erase PDF images.
delete text pdf document; remove text from pdf
24
Chapter 2:  PDFlib Language Bindings
return 0;
}
2.4.4 Error Handling in C
PDFlib supports structured exception handling with try/catch clauses. This allows C and 
C++ clients to catch exceptions which are thrown by PDFlib, and react on the exception 
in an adequate way. In the catch clause the client will have access to a string describing 
the exact nature of the problem, a unique exception number, and the name of the 
PDFlib API function which threw the exception. The general structure of a PDFlib C cli-
ent program with exception handling looks as follows:
PDF_TRY(p)
{
...some PDFlib instructions...
}
PDF_CATCH(p)
{
printf("PDFlib exception occurred in hello sample:\n");
printf("[%d] %s: %s\n",
PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p));
PDF_delete(p);
return(2);
}
PDF_delete(p);
Note PDF_TRY/PDF_CATCH are implemented as tricky preprocessor macros. Accidentally omitting 
one of these will result in compiler error messages which may be difficult to comprehend. Make 
sure to use the macros exactly as shown above, with no additional code between the TRY and 
CATCH clauses (except PDF_CATCH( )).
If you want to leave a try clause before its end you must inform the exception machin-
ery before, using the PDF_EXIT_TRY( ) macro. No other PDFlib function must be called 
etween this macro and the end of the try block.
An important task of the catch clause is to clean up PDFlib internals using PDF_
delete( ) and the pointer to the PDFlib object. PDF_delete( ) will also close the output file if 
necessary. PDFlib functions other than PDF_delete( ), PDF_get_opaque( ) and the excep-
tion functions PDF_get_errnum( ), PDF_get_apiname( ), and PDF_get_errmsg( ) must not be 
called from within a client-supplied error handler. After fatal exceptions the PDF docu-
ment cannot be used, and will be left in an incomplete and inconsistent state. Obvious-
ly, the appropriate action when an exception occurs is completely application specific.
For C and C++ clients which do not catch exceptions, the default action upon excep-
tions is to issue an appropriate message on the standard error channel, and exit on fatal 
errors. The PDF output file will be left in an incomplete state! Since this may not be ade-
quate for a library routine, for serious PDFlib projects it is strongly advised to leverage 
PDFlib’s exception handling facilities. A user-defined catch clause may, for example, 
present the error message in a GUI dialog box, and take other measures instead of abort-
ing.
Old-style error handlers. In addition to structured exception handling PDFlib also 
supports the notion of a client-supplied callback function which be called when an ex-
C# HTML5 PDF Viewer SDK to view, annotate, create and convert PDF
Able to protect PDF document from editing, printing, copying and commenting by setting PDF file permissions. Help C# users to erase PDF text content, images and
how to delete text from a pdf; how to copy text out of a pdf
C# PDF Image Redact Library: redact selected PDF images in C#.net
call our image redaction API to redact PDF images. as text redaction, you can specify custom text to appear How to Erase PDF Images in .NET Using C# Class Code.
how to erase text in pdf online; delete text pdf
2.5  C++ Binding 25
ception occurs. However, this method is considered obsolete and supported for compat-
ibility reasons only. Error handlers will be ignored in PDF_TRY blocks.
2.4.5 Memory Management in C
In order to allow for maximum flexibility, PDFlib’s internal memory management rou-
tines (which are based on standard C malloc/free) can be replaced by external procedures 
provided by the client. These procedures will be called for all PDFlib-internal memory 
allocation or deallocation. Memory management routines can be installed with a call to 
PDF_new2( ), and will be used in lieu of PDFlib’s internal routines. Either all or none of 
the following routines must be supplied:
>an allocation routine
>a deallocation (free) routine
>a reallocation routine for enlarging memory blocks previously allocated with the al-
location routine.
The signatures of the memory routines can be found in Section 7.2, »General Func-
tions«, page 144. These routines must adhere to the standard C malloc/free/realloc se-
mantics, but may choose an arbitrary implementation. All routines will be supplied 
with a pointer to the calling PDFlib object. The only exception to this rule is that the 
very first call to the allocation routine will supply a PDF pointer of NULL. Client-provid-
ed memory allocation routines must therefore be prepared to deal with a NULL PDF 
pointer.
Using the PDF_get_opaque( ) function, an opaque application specific pointer can be 
retrieved from the PDFlib object. The opaque pointer itself is supplied by the client in 
the PDF_new2( ) call. The opaque pointer is useful for multi-threaded applications which 
may want to keep a pointer to thread- or class specific data inside the PDFlib object, for 
use in memory management or error handling. 
2.5 C+ + Binding
2.5.1 Availability and Special Considerations for C++
In addition to the pdflib.h C header file, an object-oriented wrapper for C++ is supplied 
for PDFlib clients. It requires the pdflib.hpp header file, which in turn includes pdflib.h. 
The corresponding pdflib.cpp module should be linked against the application which in 
turn should be linked against the generic PDFlib C library.
Using the C++ object wrapper replaces the PDF_ prefix in all PDFlib function names 
with a more object-oriented approach. Keep this in mind when reading the PDFlib API 
descriptions in this manual which are documented in C style.
2.5.2 The »Hello world« Example in C++
#include <iostream>
#include "pdflib.hpp"
int
main(void)
{
try {
How to C#: Special Effects
Erase. Set the image to current background color, the background color can be set by:ImageProcess.BackgroundColor = Color.Red. Encipher.
delete text pdf files; delete text from pdf
Customize, Process Image in .NET Winforms| Online Tutorials
Include crop, merge, paste images; Support for image & documents rotation; Edit images & documents using Erase Rectangle & Merge Block function;
remove text from pdf preview; how to erase text in pdf
26
Chapter 2:  PDFlib Language Bindings
int font;
PDFlib p;
// the PDFlib object
// Open new PDF file
if (p.open_file("hello.pdf") == -1) {
cerr << "Error: " << p.get_errmsg() << endl;
return 2;
}
p.set_info("Creator", "hello.cpp");
p.set_info("Author", "Thomas Merz");
p.set_info("Title", "Hello, world (C++)!");
// start a new page
p.begin_page((float) a4_width, (float) a4_height);
// Change "host" encoding to "winansi" or whatever you need!
font = p.load_font("Helvetica-Bold", "host", "");
p.setfont(font, 24);
p.set_text_pos(50, 700);
p.show("Hello, world!");
p.continue_text("(says C++)");
p.end_page();
// finish page
p.close();
// close PDF document
}
catch (PDFlib::Exception &ex) {
cerr << "PDFlib exception occurred in hello sample: " << endl;
cerr << "[" << ex.get_errnum() << "] " << ex.get_apiname()
<< ": " << ex.get_errmsg() << endl;
return 2;
}
return 0;
}
2.5.3 Error Handling in C++
In order to provide extended error information the PDFlib class provides a public 
PDFlib::Exception class which exposes methods for retrieving the detailed error message, 
the exception number, and the name of the PDFlib API function which threw the excep-
tion.
Native C++ exceptions thrown by PDFlib routines will behave as expected. The fol-
lowing code fragment will catch exceptions thrown by PDFlib:
try {
...some PDFlib instructions...
catch (PDFlib::Exception &ex) {
cerr << "PDFlib exception occurred in hello sample: " << endl;
cerr << "[" << ex.get_errnum() << "] " << ex.get_apiname()
<< ": " << ex.get_errmsg() << endl;
return 2;
}
.NET Imaging Processing SDK | Process, Manipulate Images
Provide basic transformation functions, like Crop, Rotate, Resize, Flip and more; Basic image edit function support, such as Erase Rectangle, Merge Block, etc.
erase text from pdf; how to delete text from a pdf document
2.6  Java Binding 27
2.5.4 Memory Management in C++
Client-supplied memory management for the C++ binding works the same as with the C 
language binding.
The PDFlib constructor accepts an optional error handler, optional memory manage-
ment procedures, and an optional opaque pointer argument. Default NULL arguments 
are supplied in pdflib.hpp which will result in PDFlib’s internal error and memory man-
agement routines becoming active. All memory management functions must be »C« 
functions, not C++ methods.
2.6 Java Binding
Java supports a portable mechanism for attaching native language code to Java pro-
grams, the Java Native Interface (JNI). The JNI provides programming conventions for 
calling native C or C++ routines from within Java code, and vice versa. Each C routine 
has to be wrapped with the appropriate code in order to be available to the Java VM, and 
the resulting library has to be generated as a shared or dynamic object in order to be 
loaded into the Java VM.
PDFlib supplies JNI wrapper code for using the library from Java. This technique al-
lows us to attach PDFlib to Java by loading the shared library from the Java VM. The ac-
tual loading of the library is accomplished via a static member function in the pdflib 
Java class. Therefore, the Java client doesn’t have to bother with the specifics of shared 
library handling.
Taking into account PDFlib’s stability and maturity, attaching the native PDFlib li-
brary to the Java VM doesn’t impose any stability or security restrictions on your Java 
application, while at the same time offering the performance benefits of a native imple-
mentation. Regarding portability remember that PDFlib is available for all platforms 
where there is a Java VM!
2.6.1 Installing the PDFlib Java Edition
For the PDFlib binding to work, the Java VM must have access to the PDFlib Java wrapper 
and the PDFlib Java package.
The PDFlib Java package. PDFlib is organized as a Java package with the following 
package name:
com.pdflib.pdflib
This package is available in the pdflib.jar file and contains a single class called pdflib. You 
can generate an abbreviated HTML-based version of the PDFlib API reference (this man-
ual) using the javadoc utility since the PDFlib class contains the necessary javadoc com-
ments. javadoc-generated documentation is contained in the PDFlib binary distribution. 
Comments on using PDFlib with specific Java IDEs may be found in text files in the dis-
tribution set.
In order to supply this package to your application, you must add pdflib.jar to your 
CLASSPATH environment variable, add the option -classpath pdflib.jar in your calls to the 
Java compiler and runtime, or perform equivalent steps in your Java IDE. In the JDK you 
can configure the Java VM to search for native libraries in a given directory by setting 
the java.library.path property to the name of the directory, e.g.
28
Chapter 2:  PDFlib Language Bindings
java -Djava.library.path=. pdfclock
You can check the value of this property as follows:
System.out.println(System.getProperty("java.library.path"));
In addition, the following platform-dependent steps must be performed:
Unix. The library libpdf_java.so (on Mac OS X: libpdf_java.jnilib) must be placed in one of 
the default locations for shared libraries, or in an appropriately configured directory.
Windows. The library pdf_java.dll must be placed in the Windows system directory, or 
a directory which is listed in the PATH environment variable.
PDFlib servlets and Java application servers. PDFlib is perfectly suited for server-side 
Java applications, especially servlets. The PDFlib distribution contains examples of 
PDFlib Java servlets which demonstrate the basic use. When using PDFlib with a specific 
servlet engine the following configuration issues must be observed:
>The directory where the servlet engine looks for native libraries varies among ven-
dors. Common candidate locations are system directories, directories specific to the 
underlying Java VM, and local directories of the servlet engine. Please check the doc-
umentation supplied by the vendor of your servlet engine.
>Servlets are often loaded by a special class loader which may be restricted, or use a 
dedicated classpath. For some servlet engines it is required to define a special engine 
classpath to make sure that the PDFlib package will be found.
More detailed notes on using PDFlib with specific servlet engines and Java application 
servers can be found in additional documentation in the PDFlib distribution.
Note Since the EJB (Enterprise Java Beans) specification disallows the use of native libraries, PDFlib 
cannot be used within EJBs.
2.6.2 The »Hello world« Example in Java
import java.io.*;
import com.pdflib.pdflib;
import com.pdflib.PDFlibException;
public class hello
{
public static void main (String argv[])
{
int font;
pdflib p = null ;
try{
p = new pdflib();
if (p.open_file("hello.pdf") == -1) {
throw new Exception("Error: " + p.get_errmsg());
}
p.set_info("Creator", "hello.java");
p.set_info("Author", "Thomas Merz");
p.set_info("Title", "Hello world (Java)");
2.6  Java Binding 29
p.begin_page(595, 842);
/* Change "host" encoding to "winansi" or whatever you need! */
font = p.load_font("Helvetica-Bold", "host", "");
p.setfont(font, 18);
p.set_text_pos(50, 700);
p.show("Hello world!");
p.continue_text("(says Java)");
p.end_page();
p.close();
} catch (PDFlibException e) {
System.err.print("PDFlib exception occurred in hello sample:\n");
System.err.print("[" + e.get_errnum() + "] " + e.get_apiname() +
": " + e.getMessage() + "\n");
} catch (Exception e) {
System.err.println(e.getMessage());
} finally {
if (p != null) {
p.delete();
/* delete the PDFlib object */
}
}
}
}
2.6.3 Error Handling in Java 
The Java binding installs a special error handler which translates PDFlib errors to native 
Java exceptions. In case of an exception PDFlib will throw a native Java exception of the 
following class:
PDFlibException
The Java exceptions can be dealt with by the usual try/catch technique:
try {
...some PDFlib instructions...
} catch (PDFlibException e) {
System.err.print("PDFlib exception occurred in hello sample:\n");
System.err.print("[" + e.get_errnum() + "] " + e.get_apiname() +
": " + e.getMessage() + "\n");
} catch (Exception e) {
System.err.println(e.getMessage());
} finally {
if (p != null) {
p.delete();                     /* delete the PDFlib object */
}
30
Chapter 2:  PDFlib Language Bindings
Since PDFlib declares appropriate throws clauses, client code must either catch all possi-
ble PDFlib exceptions, or declare those itself.
2.7 .NET Binding
(This section is not included in this edition of the PDFlib manual.)
2.8 Perl Binding
Perl
1
supports a mechanism for extending the language interpreter via native C librar-
ies. The PDFlib wrapper for Perl consists of a C wrapper file and a Perl package module. 
The C module is used to build a shared library which the Perl interpreter loads at run-
time, with some help from the package file. Perl scripts refer to the shared library mod-
ule via a use statement.
2.8.1 Installing the PDFlib Perl Edition
The Perl extension mechanism loads shared libraries at runtime through the DynaLoad-
er module. The Perl executable must have been compiled with support for shared librar-
ies (this is true for the majority of Perl configurations).
For the PDFlib binding to work, the Perl interpreter must access the PDFlib Perl wrap-
per and the module file pdflib_pl.pm. In addition to the platform-specific methods de-
scribed below you can add a directory to Perl’s @INC module search path using the -I  
command line option:
perl -I/path/to/pdflib hello.pl
Unix. Perl will search both pdflib_pl.so (on Mac OS X: pdflib_pl.dylib) and pdflib_pl.pm in 
the current directory, or the directory printed by the following Perl command:
perl -e 'use Config; print $Config{sitearchexp};'
Perl will also search the subdirectory auto/pdflib_pl. Typical output of the above com-
mand looks like
/usr/lib/perl5/site_perl/5.8/i686-linux
Windows. PDFlib supports the ActiveState port of Perl 5 to Windows, also known as 
ActivePerl.
2
Both pdflib_pl.dll and pdflib_pl.pm will be searched in the current directory, 
or the directory printed by the following Perl command:
perl -e "use Config; print $Config{sitearchexp};"
Typical output of the above command looks like
C:\Program Files\Perl5.8\site\lib
1. See http://www.perl.com 
2. See http://www.activestate.com 
Documents you may be interested
Documents you may be interested