pdf library c# free : Edit pdf form in reader SDK Library API wpf asp.net windows sharepoint PDFlib-7-tutorial3-part1858

2.5  Java Binding 31
2.5 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!
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. PDFlib is organized 
as a Java package with the following package name:
This package is available in the pdflib.jar file and contains a single class called pdflib. Us-
ing the source files provided in the PDFlib Lite distribution you can generate an abbrevi-
ated HTML version of the PDFlib Reference using the javadoc utility since the PDFlib 
class contains the necessary javadoc comments. Comments and restrictions for using 
PDFlib with specific Java environments may be found in text files in the distribution 
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.
java -Djava.library.path=. pdfclock
You can check the value of this property as follows:
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 direc-
>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.
Edit pdf form in reader - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
online form pdf output; can reader edit pdf forms
Edit pdf form in reader - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
export excel to pdf form; pdf data extraction tool
Chapter 2:  PDFlib Language Bindings
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.
Error Handling in Java. The Java binding installs a special error handler which trans-
lates PDFlib errors to native Java exceptions. In case of an exception PDFlib will throw a 
native Java exception of the following class:
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.get_errmsg() + "\n");
} catch (Exception e) {
} finally {
if (p != null) {
p.delete();                     /* delete the PDFlib object */
Since PDFlib declares appropriate throws clauses, client code must either catch all possi-
ble PDFlib exceptions, or declare those itself.
Unicode and legacy encoding conversion. For the convenience of PDFlib users we list 
some useful string conversion methods here. Please refer to the Java documentation for 
more details. The following constructor creates a Unicode string from a byte array, us-
ing the platform’s default encoding:
String(byte[] bytes)
C# Imaging - Scan Barcode Image in C#.NET
Recognize PDF-417 2D barcode in .NET WinForms & ASP.NET in .NET WinForms project & ASP.NET web form with C# Mature .NET Code 128 image reader & scanner for C#
exporting data from excel to pdf form; pdf form data extraction
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
DotNetNuke), SharePoint. Evaluation library and components enable users to annotate PDF without adobe PDF reader control installed. Able to
extract data out of pdf file; extracting data from pdf forms
2.5  Java Binding 33
The following constructor creates a Unicode string from a byte array, using the encod-
ing supplied in the enc parameter (e.g. SJIS, UTF8, UTF-16):
String(byte[] bytes, String enc)
The following method of the String class converts a Unicode string to a string according 
to the encoding specified in the enc parameter:
byte[] getBytes(String enc)
C# PDF bookmark Library: add, remove, update PDF bookmarks in C#.
|. Home ›› XDoc.PDF ›› C# PDF: Edit PDF Bookmark. C#.NET PDF SDK - Edit PDF Bookmark and Outline in C#.NET. Empower Your C#
pdf data extraction to excel; how to fill out a pdf form with reader
.NET PDF Document Viewing, Annotation, Conversion & Processing
Edit, delete text from PDF. Insert images into PDF. Edit, remove images from PDF. Add, edit, delete links. Form Process. Fill in form data programmatically.
how to fill in a pdf form in reader; edit pdf form in reader
Chapter 2:  PDFlib Language Bindings
2.6 .NET Binding
(This section is only included in the COM/.NET/REALbasic edition of the PDFlib tutorial.)
C# PDF metadata Library: add, remove, update PDF metadata in C#.
|. Home ›› XDoc.PDF ›› C# PDF: Edit PDF Metadata. C#.NET PDF SDK - Edit PDF Document Metadata in C#.NET. Allow C# Developers
how to fill pdf form in reader; vb extract data from pdf
C# PDF Digital Signature Library: add, remove, update PDF digital
NET Protect: Add Password to PDF; VB.NET Form: extract value VB.NET Annotate: PDF Markup & Drawing. XDoc.Word for View, encode, decode, edit, process 100+ images.
how to extract data from pdf to excel; extracting data from pdf into excel
2.7  Perl Binding 35
2.7 Perl Binding
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.
Installing the PDFlib Perl Edition. The Perl extension mechanism loads shared libraries 
at runtime through the DynaLoader module. The Perl executable must have been com-
piled with support for shared libraries (this is true for the majority of Perl configura-
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
Windows. PDFlib supports the ActiveState port of Perl 5 to Windows, also known as 
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
Error Handling in Perl. The Perl binding installs a special error handler which trans-
lates PDFlib errors to native Perl exceptions. The Perl exceptions can be dealt with by ap-
plying the appropriate language constructs, i.e., by bracketing critical sections:
eval {
...some PDFlib instructions...
die "Exception caught" if $@;
1. See www.perl.com 
2. See www.activestate.com 
C# PDF Library SDK to view, edit, convert, process PDF file for C#
perform quick file navigation. You may easily generate thumbnail image from PDF. C#.NET: PDF Form Field Edit. Please refer to this
export pdf form data to excel spreadsheet; filling out pdf forms with reader
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
NET Protect: Add Password to PDF; VB.NET Form: extract value VB.NET Annotate: PDF Markup & Drawing. XDoc.Word for View, encode, decode, edit, process 100+ images.
export pdf form data to excel; fill in pdf form reader
Chapter 2:  PDFlib Language Bindings
More than one way of String handling. Depending on the requirements of your appli-
cation you can work with UTF-8, UTF-16, or legacy encodings. The following code snip-
pets demonstrate all three variants. All examples create the same Japanese output, but 
accept the string input in different formats.
The first example works with Unicode UTF-8 and uses the Unicode::String module 
which is part of most modern Perl distributions, and available on CPAN). Since Perl 
works with UTF-8 internally no explicit UTF-8 conversion is required:
use Unicode::String qw(utf8 utf16 uhex);
PDF_set_parameter($p, "textformat", "utf8");
$font = PDF_load_font($p, "Arial Unicode MS", "unicode", "");
PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, uhex("U+65E5 U+672C U+8A9E"));
The second example works with Unicode UTF-16 and little-endian byte order:
PDF_set_parameter($p, "textformat", "utf16le");
$font = PDF_load_font($p, "Arial Unicode MS", "unicode", "");
PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, "\xE5\x65\x2C\x67\x9E\x8A");
The third example works with Shift-JIS. Except on Windows systems it requires access to 
the 90ms-RKSJ-H CMap for string conversion:
PDF_set_parameter($p, "SearchPath", "../../../resource/cmap");
$font = PDF_load_font($p, "Arial Unicode MS", "cp932", "");
PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, "\x93\xFA\x96\x7B\x8C\xEA");
Unicode and legacy encoding conversion. For the convenience of PDFlib users we list 
some useful string conversion methods here. Please refer to the Perl documentation for 
more details. The following constructor creates a Unicode string from a byte array:
$logos="\x{039b}\x{03bf}\x{03b3}\x{03bf}\x{03c3}\x{0020}" ;
The following constructor creates a Unicode string from the Unicode character name:
The Encode module supports many encodings and has interfaces for converting be-
tween those encodings:
use Encode 'decode';
$data = decode("iso-8859-3", $data); 
# convert from legacy to UTF-8
2.8  PHP Binding 37
2.8 PHP Binding
Installing the PDFlib PHP Edition. Detailed information about the various flavors and 
options for using PDFlib with PHP
, including the question of whether or not to use a 
loadable PDFlib module for PHP, can be found in the PDFlib-in-PHP-HowTo.pdf document 
which is contained in the distribution packages and also available on the PDFlib Web 
You must configure PHP so that it knows about the external PDFlib library. You have 
two choices:
>Add one of the following lines in php.ini:
; for Unix
; for Windows
PHP will search the library in the directory specified in the extension_dir variable in 
php.ini on Unix, and additionally in the standard system directories on Windows. 
You can test which version of the PHP PDFlib binding you have installed with the fol-
lowing one-line PHP script:
This will display a long info page about your current PHP configuration. On this page 
check the section titled pdf.  If this section contains PDFlib GmbH Binary Version (and 
the PDFlib version number) you are using the supported new PDFlib wrapper. The 
unsupported old wrapper will display PDFlib GmbH Version instead.
>Load PDFlib at runtime with one of the following lines at the start of your script:
# for Unix
# for Windows
PHP 5 features. PDFlib takes advantage of the following new features in PHP 5:
>New object model: the PDFlib functions are encapsulated within a PDFlib object.
>Exceptions: PDFlib exceptions will be propagated as PHP 5 exceptions, and can be 
caught with the usual try/catch technique. New-style exception handling can be 
used with both the new object-oriented approach and the old API functions.
See below for more details on these PHP 5 features.
Modified error return for PDFlib functions in PHP. Since PHP uses the convention of re-
turning the value 0 (FALSE) when an error occurs within a function, all PDFlib functions 
have been adjusted to return 0 instead of -1 in case of an error. This difference is noted 
in the function descriptions in the PDFlib Reference. However, take care when reading 
the code fragment examples in Section 3, »PDFlib Programming«, page 45, since these 
use the usual PDFlib convention of returning -1 in case of an error.
File name handling in PHP. Unqualified file names (without any path component) and 
relative file names for PDF, image, font and other disk files are handled differently in 
Unix and Windows versions of PHP:
>PHP on Unix systems will find files without any path component in the directory 
where the script is located.
1. See www.php.net 
Chapter 2:  PDFlib Language Bindings
>PHP on Windows will find files without any path component only in the directory 
where the PHP DLL is located.
In order to provide platform-independent file name handling the use of PDFlib’s 
SearchPath facility is strongly recommended (see Section 3.1.3, »Resource Configuration 
and File Searching«, page 48).
Error handling in PHP 4. When a PDFlib exception occurs, a PHP exception is thrown. 
Since PHP 4 does not support structured exception handling there is no way to catch ex-
ceptions and act appropriately. Do not disable PHP warnings when using PDFlib, or you 
will run into serious trouble.
PDFlib warnings (nonfatal errors) are mapped to PHP warnings, which can be dis-
abled in php.ini. Alternatively, warnings can be disabled at runtime with a PDFlib func-
tion call like in any other language binding:
PDF_set_parameter($p, "warning", "false");
Exception handling in PHP 5. Since PHP 5 supports structured exception handling, 
PDFlib exceptions will be propagated as PHP exceptions. PDFlib will throw an exception 
of the class PDFlibException, which is derived from PHP’s standard Exception class. You 
can use the standard try/catch technique to deal with PDFlib exceptions:
try {
...some PDFlib instructions...
} catch (PDFlibException $e) {
print "PDFlib exception occurred:\n";
print "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " 
$e->get_errmsg() . "\n";
catch (Exception $e) {
print $e;
Note that you can use PHP 5-style exception handling regardless of whether you work 
with the old function-based PDFlib interface, or the new object-oriented one.
Unicode and legacy encoding conversion. The iconv module can be used for string con-
versions. Please refer to the PHP documentation for more details.
2.9  Python Binding 39
2.9 Python Binding
Installing the PDFlib Python Edition. The Python
extension mechanism works by 
loading shared libraries at runtime. For the PDFlib binding to work, the Python inter-
preter must have access to the PDFlib Python wrapper:
>Unix: the library pdflib_py.so (on Mac OS X: pdflib_py.dylib) will be searched in the di-
rectories listed in the PYTHONPATH environment variable.
>Windows: the library pdflib_py.dll will be searched in the directories listed in the 
PYTHONPATH environment variable.
Error Handling in Python. The Python binding installs a special error handler which 
translates PDFlib errors to native Python exceptions. The Python exceptions can be 
dealt with by the usual try/catch technique:
...some PDFlib instructions...
except PDFlibException:
print 'PDFlib Exception caught!'
Configuring the old-style Python binding without Unicode support. By default, the Py-
thon binding is Unicode-aware. For compatibility purposes we also supply a non-Uni-
code-aware version of the Python binding. Although this is not recommended for new 
applications, you may want to use the old-style Python binding without Unicode sup-
port for older applications which do not properly deal with Unicode strings. In this situ-
ation you can configure the Python binding as follows:
>Rename pdflib_py.so to nupdflib_py.so
>Add the the following to your code:
from nupdflib_py import *
1. See www.python.org 
Chapter 2:  PDFlib Language Bindings
2.10 REALbasic Binding
(This section is only included in the COM/.NET/REALbasic edition of the PDFlib tutorial.)
1. See www.realbasic.com 
Documents you may be interested
Documents you may be interested