open source pdf to image converter c# : Adding text fields to a pdf control application system azure web page windows console 5240-part564

The code in the Solution invokes /usr/local/bin/gpg to encrypt the message in 
$message_body
. It uses the private key belonging to 
$sender
and the public key belonging 
to 
$recipient
. This means that only 
$recipient
can decrypt the email message and when 
she does, she knows the message came from 
$sender
.  
Setting the 
HOME
and 
USER
environment variables tells GPG where to look for its keyring: 
$HOME/.gnupg/secring.gpg. The 
--quiet
and 
--no-secmem-warning
options suppress 
warnings GPG would otherwise generate. The 
--encrypt
and 
--sign
options tell GPG to 
both encrypt and sign the message. Encrypting the message obscures it to anyone other than 
the recipient. Signing it adds information so that the recipient knows who generated the 
message and when it was generated. The 
--armor
option produces plaintext output instead 
of binary, so the encrypted message is suitable for emailing.  
Normally, private keys are protected with a passphrase. If a private key protected by a 
passphrase is copied by an attacker, the attacker can't encrypt messages with the private key 
unless he also knows the passphrase. GPG prompts for the passphrase when encrypting a 
message. In this recipe, however, we don't want the private key of 
$sender
to have a 
passphrase. If it did, the web site couldn't send new-order email messages without a human 
typing in the passphrase each time. Storing the passphrase in a file and providing it to GPG 
each time you encrypt offers no additional security over not having a passphrase in the first 
place.  
The downside of using a key without a passphrase for encryption is that an attacker who 
obtains the secret key can send fake order emails to your order processor. This is a 
manageable risk. Since orders can be submitted via a web site in the first place, there is 
already a place where false information can be injected into the order process. Any procedures 
for catching bad orders can also be triggered by these potential fake emails. Also, once the 
key theft is discovered, and the problem that enabled the theft is fixed, the attacker is easily 
disabled by switching to a new private key.  
14.12.4 See Also 
The GNU Privacy Guard home page at http://www.gnupg.org/
and the MIT PGP distribution 
site at http://web.mit.edu/network/pgp.html
Adding text fields to a pdf - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
add signature field to pdf; adding form fields to pdf
Adding text fields to a pdf - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
pdf form save with reader; pdf fillable form creator
Chapter 15. Graphics 
Introduction
Drawing Lines, Rectangles, and Polygons
Drawing Arcs, Ellipses, and Circles
Drawing with Patterned Lines
Drawing Text
Drawing Centered Text
Building Dynamic Images
Getting and Setting a Transparent Color
Serving Images Securely
Program: Generating Bar Charts from Poll Results
C# PDF insert text Library: insert text into PDF content in C#.net
Supports adding text to PDF in preview without adobe reader installed in ASP.NET. Powerful .NET PDF edit control allows modify existing scanned PDF text.
add fields to pdf form; add text field to pdf
VB.NET PDF insert text library: insert text into PDF content in vb
VB.NET PDF - Insert Text to PDF Document in VB.NET. Providing Demo Code for Adding and Inserting Text to PDF File Page in VB.NET Program.
adding text fields to pdf; can reader edit pdf forms
15.1 Introduction 
With the assistance of the GD library, you can use PHP to create applications that use dynamic 
images to display stock quotes, reveal poll results, monitor system performance, and even 
create games. However it's not like using Photoshop or GIMP; you can't draw a line by moving 
your mouse. Instead, you need to precisely specify a shape's type, size, and position.  
GD has an existing API, and PHP tries to follows its syntax and function-naming conventions. 
So, if you're familiar with GD from other languages, such as C or Perl, you can easily use GD 
with PHP. If GD is new to you, it may take a few minutes to figure it out, but soon you'll be 
drawing like Picasso.  
The feature set of GD varies greatly depending on which version GD you're running and which 
features were enabled during configuration. Versions of GD up to 1.6 supported reading and 
writing GIFs, but this code was removed due to patent problems. Instead, newer versions of 
GD support JPEGs, PNGs, and WBMPs. Because PNGs are generally smaller than GIFs, allow 
you to use many more colors, have built-in gamma correction, and are supported by all major 
web browsers, the lack of GIF support is classified as a feature, not a bug. For more on PNG, 
go to http://www.libpng.org/pub/png/
or read Chapter 21
, "PNG Format," of Web Design in a 
Nutshell written by Jennifer Niederst (O'Reilly).  
Besides supporting multiple file formats, GD lets you draw pixels, lines, rectangles, polygons, 
arcs, ellipses, and circles in any color you want. Recipe 15.2
covers straight shapes, while 
Recipe 15.3
covers the curved ones. To fill shapes with a pattern instead of a solid color, see 
Recipe 15.4
.  
You can also draw text using a variety of font types, including built-in, TrueType, and 
PostScript Type 1 fonts. Recipe 15.5
shows the ins and outs of the three main text-drawing 
functions, and Recipe 15.6
shows how to center text within a canvas. These two recipes form 
the basis for Recipe 15.7
, which combines an image template with real-time data to create 
dynamic images. GD also lets you make transparent GIFs and PNGs. Setting a color as 
transparent and using transparencies in patterns are discussed in Recipe 15.8
.  
Recipe 15.9
moves away from GD and shows how to securely serve images by restricting user 
access. Last, we provide an example application — taking poll results and producing a dynamic 
bar graph showing what percentage of users voted for each answer.  
All these features work with GD 1.8.4, which is the latest stable version of the library. If you 
have an earlier version, you should not have a problem. However, if a particular recipe needs 
a specific version of GD, we note it in the recipe.  
PHP also supports GD 2.x, which, as of this writing, is still in beta. Despite its beta status, the 
new version is relatively stable and has many new features. In particular, Version 2.x allows 
true-color images, which lets GD read in PNGs and JPEGs with almost no loss in quality. Also, 
GD 2.x supports PNG alpha channels, which allow you to specify a transparency level for each 
pixel.  
VB.NET PDF Text Box Edit Library: add, delete, update PDF text box
Add Password to PDF; VB.NET Form: extract value from fields; VB.NET PDF - Add Text Box to PDF Page in VB Provide VB.NET Users with Solution of Adding Text Box to
change font size in pdf fillable form; adding images to pdf forms
C# PDF Text Box Edit Library: add, delete, update PDF text box in
Provide .NET SDK library for adding text box to PDF document in .NET WinForms application. Adding text box is another way to add text to PDF page.
add forms to pdf; add email button to pdf form
Both versions of GD are available for download from the official GD site at 
http://www.boutell.com/gd/
. The GD section of the online PHP Manual at 
http://www.php.net/image
also lists the location of the additional libraries necessary to 
provide support for JPEGs and Type 1 fonts.  
There are two easy ways to see which version, if any, of GD is installed on your server and 
how it's configured. One way is to call 
phpinfo( )
. You should see 
--with-gd
at the top 
under "Configure Command"; further down the page there is also a section titled "gd" that has 
more information about which version of GD is installed and what features are enabled. The 
other option is to check the return value of 
function_exists('imagecreate')
. If it 
returns 
true
, GD is installed. The 
imagetypes( )
function returns a bit field indicating 
which graphics formats are available. See http://www.php.net/imagetypes
for more on how to 
use this function. If you want to use a feature that isn't enabled, you need to rebuild PHP 
yourself or get your ISP to do so.  
The basic image generation process has three steps: creating the image, adding graphics and 
text to the canvas, and displaying or saving the image. For example:  
$image = ImageCreate(200, 50); 
$background_color = ImageColorAllocate($image, 255, 255, 255); // white 
$gray             = ImageColorAllocate($image, 204, 204, 204); // gray 
ImageFilledRectangle($image, 50, 10, 150, 40, $gray); 
header('Content-type: image/png'); 
ImagePNG($image); 
The output of this code, which prints a gray rectangle on a white background, is shown in 
Figure 15-1
.  
Figure 15-1. A gray rectangle on a white background 
To begin, you create an image canvas. The 
ImageCreate( )
function doesn't return an 
actual image. Instead, it provides you with a handle to an image; it's not an actual graphic 
until you specifically tell PHP to write the image out. Using 
ImageCreate( )
, you can juggle 
multiple images at the same time.  
The parameters passed to 
ImageCreate( )
are the width and height of the graphic in pixels. 
In this case, it's 200 pixels across and 50 pixels high. Instead of creating a new image, you 
can also edit existing images. To open a graphic, call 
ImageCreateFromPNG( )
or a similarly 
named function to open a different file format. The filename is the only argument, and files 
can live locally or on remote servers:  
// open a PNG from the local machine 
$graph = ImageCreateFromPNG('/path/to/graph.png'); 
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Support adding PDF page number. Offer PDF page break inserting function. DLLs for Adding Page into PDF Document in VB.NET Class. Add necessary references:
cannot save pdf form in reader; adding form fields to pdf files
VB.NET PDF Text Add Library: add, delete, edit PDF text in vb.net
Password to PDF; VB.NET Form: extract value from fields; VB.NET PDF - Annotate Text on PDF Page in Professional VB.NET Solution for Adding Text Annotation to PDF
edit pdf form; build pdf forms
// open a JPEG from a remote server 
$icon  = ImageCreateFromJPEG('http://www.example.com/images/icon.jpeg'); 
Once you have an editable canvas, you get access to drawing colors by calling 
ImageColorAllocate( )
:  
$background_color = ImageColorAllocate($image, 255, 255, 255); // white 
$gray             = ImageColorAllocate($image, 204, 204, 204); // gray 
The 
ImageColorAllocate( )
function takes an image handle to allocate the color to and 
three integers. The three integers each range from 0 to 255 and specify the red, green, and 
blue components of the color. This is the same RGB color combination that is used in HTML to 
set a font or background color. So, white is 255, 255, 255; black is 0, 0, 0, and everything 
else is somewhere in between.  
The first call to 
ImageAllocateColor( )
sets the background color. Additional calls allocate 
colors for drawing lines, shapes, or text. Therefore, set the background color to 255, 255, 255 
and then grab a gray pen with 
ImageAllocateColor($image
204,
204,
204)
. It may 
seem odd that the background color is determined by the order 
ImageAllocateColor()
is 
called and not by a separate function. But, that's how things work in GD, so PHP respects the 
convention.  
Call 
ImageFilledRectangle( )
to place a box onto the canvas. 
ImageFilledRectangle( )
takes many parameters: the image to draw on, the x and y 
coordinates of the upper left corner of the rectangle, the x and y coordinates of the lower right 
corner of the rectangle, and finally, the color to use to draw the shape. Tell 
ImageFilledRectangle( )
to draw a rectangle on 
$image
, starting at (50,10) and going 
to (150,40), in the color gray:  
ImageFilledRectangle($image, 50, 10, 150, 40, $gray); 
Unlike a Cartesian graph, (0,0) is not in the lower left corner; instead, it's in the upper left 
corner. So, the vertical coordinate of the spot 10 pixels from the top of a 50 pixel high canvas 
is 10 because it's 10 pixels down from the top of the canvas. It's not 40, because you measure 
from the top down, not the bottom up. And it's not -10, because down is considered the 
positive direction, not the negative one.  
Now that the image is all ready to go, you can serve it up. First, send a 
Content-type
header to let the browser know what type of image you're sending. In this case, we display a 
PNG. Next, have PHP write the PNG image out using 
ImagePNG( )
. Once the image is sent, 
your task is over:  
header('Content-Type: image/png'); 
ImagePNG($image); 
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Support adding protection features to PDF file by adding password, digital signatures and redaction feature. Various of PDF text and images processing features
add text field to pdf acrobat; pdf form save in reader
C# PDF Annotate Library: Draw, edit PDF annotation, markups in C#.
Provide users with examples for adding text box to PDF and edit font size and color in text box field in C#.NET program. C#.NET: Draw Markups on PDF File.
add fields to pdf; add picture to pdf form
To write the image to disk instead of sending it to the browser, provide a second argument to 
ImagePNG( )
with where to save the file:  
ImagePng($image, '/path/to/your/new/image.png'); 
Since the file isn't going to the browser, there's no need to call 
header( )
. Make sure to 
specify a path and an image name, and be sure PHP has permission to write to that location.  
PHP cleans up the image when the script ends, but, if you wish to manually deallocate the 
memory used by the image, calling 
ImageDestroy($image)
forces PHP to get rid of the 
image immediately. 
Recipe 15.2 Drawing Lines, Rectangles, and Polygons 
15.2.1 Problem 
You want to draw a line, rectangle, or polygon. You also want to be able to control if the 
rectangle or polygon is open or filled in. For example, you want to be able to draw bar charts 
or create graphs of stock quotes.  
15.2.2 Solution 
To draw a line, use 
ImageLine( )
:  
ImageLine($image, $x1, $y1, $x2, $y2, $color); 
To draw an open rectangle, use 
ImageRectangle( )
:  
ImageRectangle($image, $x1, $y1, $x2, $y2, $color); 
To draw a solid rectangle, use 
ImageFilledRectangle( )
:  
ImageFilledRectangle($image, $x1, $y1, $x2, $y2, $color); 
To draw an open polygon, use 
ImagePolygon( )
:  
$points = array($x1, $y1, $x2, $y2, $x3, $y3); 
ImagePolygon($image, $points, count($points)/2, $color); 
To draw a filled polygon, use 
ImageFilledPolygon( )
:  
$points = array($x1, $y1, $x2, $y2, $x3, $y3); 
ImageFilledPolygon($image, $points, count($points)/2, $color); 
15.2.3 Discussion 
The prototypes for all five functions in the Solution are similar. The first parameter is the 
canvas to draw on. The next set of parameters are the x and y coordinates to specify where 
C# PDF insert image Library: insert images into PDF in C#.net, ASP
application? To help you solve this technical problem, we provide this C#.NET PDF image adding control, XDoc.PDF for .NET. Similar
change font size in fillable pdf form; create a fillable pdf form online
C# Create PDF Library SDK to convert PDF from other file formats
Create fillable PDF document with fields. toolkit, if you need to add some text and draw Besides, using this PDF document metadata adding control, you can add
create a fillable pdf form from a word document; add date to pdf form
GD should draw the shape. In 
ImageLine( )
, the four coordinates are the end points of the 
line, and in 
ImageRectangle( )
, they're the opposite corners of the rectangle. For example, 
ImageLine($image,
0,
0,
100,
100,
$color)
produces a diagonal line. Passing the same 
parameters to 
ImageRectangle( )
produces a rectangle with corners at (0,0), (100,0), 
(0,100), and (100,100). Both shapes are shown in Figure 15-2
.  
Figure 15-2. A diagonal line and a square 
The 
ImagePolygon( )
function is slightly different because it can accept a variable number 
of vertices. Therefore, the second parameter is an array of x and y coordinates. The function 
starts at the first set of points and draws lines from vertex to vertex before finally completing 
the figure by connecting back to the original point. You must have a minimum of three 
vertices in your polygon (for a total of six elements in the array). The third parameter is the 
number of vertices in the shape; since that's always half of the number of elements in the 
array of points, a flexible value for this is 
count($points)
/
2
because it allows you to 
update the array of vertices without breaking the call to 
ImageLine()
.  
Last, all the functions take a final parameter that specifies the drawing color. This is usually a 
value returned from 
ImageColorAllocate( )
but can also be the constants 
IMG_COLOR_STYLED
or 
IMG_COLOR_STYLEDBRUSHED
, if you want to draw nonsolid lines, as 
discussed in Recipe 15.4
.  
These functions all draw open shapes. To get GD to fill the region with the drawing color, use 
ImageFilledRectangle( )
and 
ImageFilledPolygon( )
with the identical set of 
arguments as their unfilled cousins.  
15.2.4 See Also 
Recipe 15.3
for more on drawing other types of shapes; Recipe 15.4
for more on drawing with 
styles and brushes; documentation on 
ImageLine( )
at http://www.php.net/imageline
ImageRectangle( )
at http://www.php.net/imagerectangle
ImagePolygon( )
at 
http://www.php.net/imagepolygon
, and 
ImageColorAllocate( )
at 
http://www.php.net/imagecolorallocate
Recipe 15.3 Drawing Arcs, Ellipses, and Circles 
15.3.1 Problem 
You want to draw open or filled curves. For example, you want to draw a pie chart showing 
the results of a user poll.  
15.3.2 Solution 
To draw an arc, use 
ImageArc( )
:  
ImageArc($image, $x, $y, $width, $height, $start, $end, $color); 
To draw an ellipse, use 
ImageArc( )
and set 
$start
to 
0
and 
$end
to 
360
:  
ImageArc($image, $x, $y, $width, $height, 0, 360, $color); 
To draw a circle, use 
ImageArc( )
, set 
$start
to 
0
, set 
$end
to 
360
, and use the same 
value for both 
$width
and 
$height
:  
ImageArc($image, $x, $y, $diameter, $diameter, 0, 360, $color); 
15.3.3 Discussion 
Because the 
ImageArc( )
function is highly flexible, you can easily create common curves 
such as ellipses and circles by passing it the right values. Like many GD functions, the first 
parameter is the canvas. The next two parameters are the x and y coordinates for the center 
position of the arc. After that comes the arc width and height. Since a circle is an arc with the 
same width and height, to draw a circle, set both numbers to your circle's diameter.  
The sixth and seventh parameters are the starting and ending angles, in degrees. A value of 0 
is at 3 o'clock. The arc then moves clockwise, so 90 is at 6 o'clock, 180 is at 9 o'clock, and 
270 is at the top of the hour. (Be careful, this behavior is not consistent among all GD 
functions. For example, when you rotate text, you turn in a counter-clockwise direction.) Since 
the arc's center is located at 
($x,$y)
, if you draw a semicircle from 0 to 180, it doesn't start 
at 
($x,$y)
; instead, it begins at 
($x+($diameter/2),$y)
.  
As usual, the last parameter is the arc color.  
For example, this draws an open black circle with a diameter of 100 pixels centered on the 
canvas, as shown in left half of Figure 15-3
:  
$image = ImageCreate(100,100); 
$bg = ImageColorAllocate($image, 255, 255, 255); 
$black = ImageColorAllocate($image, 0, 0, 0); 
ImageArc($image, 50, 50, 100, 100, 0, 360, $black); 
To produce a solid-colored ellipse or circle, call 
ImageFillToBorder( )
 
ImageArc($image, $x, $y, $diameter, $diameter, 0, 360, $color); 
ImageFillToBorder($image, $x, $y, $color, $color); 
The 
ImageFillToBorder( )
function floods a region beginning at 
($x,$y)
with the color 
specified as the last parameter until it hits the edge of the canvas or runs into a line with the 
same color as the third parameter.  
Incorporating this into the earlier example gives: 
$image = ImageCreate(100,100); 
$bg = ImageColorAllocate($image, 255, 255, 255); 
$black = ImageColorAllocate($image, 0, 0, 0); 
ImageArc($image, 50, 50, 100, 100, 0, 360, $black); 
ImageFillToBorder($image, 50, 50, $black, $black); 
The output is shown in the right half of Figure 15-3
Figure 15-3. An open black circle and a filled black circle 
If you're running GD 2.x, you can call 
ImageFilledArc( )
and pass in a final parameter 
that describes the fill style. GD 2.x also supports specific 
ImageEllipse( )
and 
ImageFilledEllipse( )
functions.  
15.3.4 See Also 
Recipe 15.2
for more on drawing other types of shapes; Recipe 15.4
for more on drawing with 
styles and brushes; documentation on 
ImageArc( )
at http://www.php.net/imagearc
ImageFilledArc( )
at http://www.php.net/imagefilledarc
, and 
ImageFillToBorder( )
at http://www.php.net/imagefilltoborder
Recipe 15.4 Drawing with Patterned Lines 
15.4.1 Problem 
You want to draw shapes using line styles other than the default, a solid line.  
15.4.2 Solution 
To draw shapes with a patterned line, use 
ImageSetStyle( )
and pass in 
IMG_COLOR_STYLED
as the image color:  
$black = ImageColorAllocate($image,   0,   0,   0); 
$white = ImageColorAllocate($image, 255, 255, 255); 
// make a two-pixel thick black and white dashed line 
$style = array($black, $black, $white, $white); 
ImageSetStyle($image, $style); 
ImageLine($image, 0, 0, 50, 50, IMG_COLOR_STYLED); 
ImageFilledRectangle($image, 50, 50, 100, 100, IMG_COLOR_STYLED); 
15.4.3 Discussion 
The line pattern is defined by an array of colors. Each element in the array is another pixel in 
the brush. It's often useful to repeat the same color in successive elements, as this increases 
the size of the stripes in the pattern.  
For instance, here is code for a square drawn with alternating white and black pixels, as shown 
in left side of Figure 15-4
:  
$style = array($white, $black); 
ImageSetStyle($image, $style); 
ImageFilledRectangle($image, 0, 0, 49, 49, IMG_COLOR_STYLED); 
This is the same square, but drawn with a style of five white pixels followed by five black ones, 
as shown in the middle of Figure 15-4
:  
$style = array($white, $white, $white, $white, $white,  
$black, $black, $black, $black, $black); 
ImageSetStyle($image, $style); 
ImageFilledRectangle($image, 0, 0, 49, 49, IMG_COLOR_STYLED); 
Figure 15-4. Three squares with alternating white and black pixels 
The patterns look completely different, even though both styles are just white and black 
pixels.  
If the brush doesn't fit an integer number of times in the shape, it wraps around. In the 
previous examples, the square is 50 pixels wide. Since the first brush is 2 pixels long, it fits 
exactly 25 times; the second brush is 10 pixels, so it fits 5 times. But, if you make the square 
45 by 45 and used the second brush, you don't get straight lines as you did previously, as 
shown in the right side of Figure 15-4
:  
ImageFilledRectangle($image, 0, 0, 44, 44, IMG_COLOR_STYLED); 
15.4.4 See Also 
Recipe 15.2
and Recipe 15.3
for more on drawing shapes; documentation on 
ImageSetStyle( )
at http://www.php.net/imagesetstyle
.  
Documents you may be interested
Documents you may be interested