pdf viewer in asp net c# : How to add jpg to pdf file control application platform web page azure winforms web browser postgresql-9.4-A484-part3010

Chapter 33. ECPG - Embedded SQL in C
%W
-is replaced by the week number of the year (Monday as the first day of the week) as a
decimal number (00-53).
%w
-is replaced by the weekday (Sunday as the first day of the week) as a decimal number
(0-6).
%X
-is replaced by national representation of the time.
%x
-is replaced by national representation of the date.
%Y
-is replaced by the year with century as a decimal number.
%y
-is replaced by the year without century as a decimal number (00-99).
%Z
-is replaced by the time zone name.
%z
-is replacedby the time zone offset from UTC;a leading plus signstands for east of UTC,
aminus sign for west of UTC, hours and minutes followwith two digits each and no delimiter
between them (common form for RFC 822 date headers).
%+
-is replaced by national representation of the date and time.
%-
*
-GNU libc extension. Do not do any padding when performing numerical outputs.
$_*- GNU libc extension. Explicitly specify space for padding.
%0
*
-GNU libc extension. Explicitly specify zero for padding.
%%
-is replaced by
%
.
PGTYPEStimestamp_sub
Subtract one timestamp from another one and save the result in a variable of type interval.
int PGTYPEStimestamp_sub(timestamp
*
ts1, timestamp
*
ts2, interval
*
iv);
The function will subtract the timestamp variable that
ts2
points to from the timestamp variable
that
ts1
points to and will store the result in the interval variable that
iv
points to.
Upon success, the function returns 0 and a negative value if an error occurred.
PGTYPEStimestamp_defmt_asc
Parse a timestamp value from its textual representation usinga formatting mask.
int PGTYPEStimestamp_defmt_asc(char
*
str, char
*
fmt, timestamp
*
d);
The function receives the textual representation of a timestamp in the variable
str
as well as the
formatting mask to use in the variable
fmt
.The result will be stored in the variable that
d
points
to.
If the formatting mask
fmt
is NULL, the function will fall back to the default formatting mask
which is
%Y-%m-%d %H:%M:%S
.
This is the reverse function to
PGTYPEStimestamp_fmt_asc
.See the documentation there in
order to find out about the possible formatting mask entries.
PGTYPEStimestamp_add_interval
Add an interval variable to a timestamp variable.
int PGTYPEStimestamp_add_interval(timestamp
*
tin, interval
*
span, timestamp
*
tout);
The function receives a pointer to a timestamp variable
tin
and a pointer to an interval variable
span
.It adds the interval to the timestamp and saves the resulting timestampin the variable that
tout
points to.
Upon success, the function returns 0 and a negative value if an error occurred.
768
How to add jpg to pdf file - insert images into PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sample C# code to add image, picture, logo or digital photo into PDF document page using PDF page editor control
add a picture to a pdf; how to add an image to a pdf
How to add jpg to pdf file - VB.NET PDF insert image library: insert images into PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide VB.NET Programmers How to Add Images in PDF Document
add jpg to pdf file; add image to pdf java
Chapter 33. ECPG - Embedded SQL in C
PGTYPEStimestamp_sub_interval
Subtract an interval variable from a timestamp variable.
int PGTYPEStimestamp_sub_interval(timestamp
*
tin, interval
*
span, timestamp
*
tout);
The function subtracts the interval variable that
span
points to from the timestamp variable that
tin
points to and saves the result into the variable that
tout
points to.
Upon success, the function returns 0 and a negative value if an error occurred.
33.6.4. The interval Type
The interval type in C enables your programs to deal with data of the SQL type interval. See Section
8.5 for the equivalent type in the PostgreSQL server.
The following functions can be used to work with the interval type:
PGTYPESinterval_new
Return a pointer to a newly allocated interval variable.
interval
*
PGTYPESinterval_new(void);
PGTYPESinterval_free
Release the memory of a previously allocated interval variable.
void PGTYPESinterval_new(interval
*
intvl);
PGTYPESinterval_from_asc
Parse an interval from its textual representation.
interval
*
PGTYPESinterval_from_asc(char
*
str, char
**
endptr);
The function parses the input string
str
and returns a pointer to an allocated interval variable.
At the moment ECPG always parses the complete string and so it currently does not support to
store the address of the first invalid character in
*
endptr
.You cansafelyset
endptr
to NULL.
PGTYPESinterval_to_asc
Convert a variable of type interval to its textual representation.
char
*
PGTYPESinterval_to_asc(interval
*
span);
The function converts the interval variable that
span
points to into a C char*. The output looks
like this example:
@ 1 day 12 hours 59 mins 10 secs
.
PGTYPESinterval_copy
Copy a variable of type interval.
int PGTYPESinterval_copy(interval
*
intvlsrc, interval
*
intvldest);
The function copies the interval variable that
intvlsrc
points to into the variable that
intvldest
points to. Note that you need to allocate the memory for the destination variable
before.
33.6.5. The decimal Type
The decimal type is similar to the numeric type. However it is limited to a maximum precision
of 30 significant digits. In contrast to the numeric type which can be created on the heap only,
769
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
Add necessary references page As PDFPage = doc.GetPage(0) ' Convert the first PDF page to page.ConvertToImage(ImageType.JPEG, Program.RootPath + "\\Output.jpg").
adding an image to a pdf file; add image to pdf file
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
example, this C#.NET PDF to JPEG converter library will name the converted JPEG image file Output.jpg. Convert PDF to JPEG Using C#.NET. Add necessary references
add an image to a pdf with acrobat; add jpg to pdf
Chapter 33. ECPG - Embedded SQL in C
the decimal type can be created either on the stack or on the heap (by means of the functions
PGTYPESdecimal_new
and
PGTYPESdecimal_free
). There are a lot of other functions that deal
with the decimal type in the Informix compatibility mode described in Section 33.15.
The following functions can be used to work with the decimal type and are not only contained in the
libcompat
library.
PGTYPESdecimal_new
Request a pointer to a newly allocated decimal variable.
decimal
*
PGTYPESdecimal_new(void);
PGTYPESdecimal_free
Free a decimal type, release all of its memory.
void PGTYPESdecimal_free(decimal
*
var);
33.6.6. errno Values of pgtypeslib
PGTYPES_NUM_BAD_NUMERIC
An argument should contain a numeric variable (or point to a numeric variable) but in fact its
in-memory representation was invalid.
PGTYPES_NUM_OVERFLOW
An overflow occurred. Since the numeric type can deal with almost arbitrary precision, convert-
ing a numeric variable into other types might cause overflow.
PGTYPES_NUM_UNDERFLOW
An underflow occurred. Since the numeric type can deal with almost arbitrary precision, con-
verting a numeric variable into other types might cause underflow.
PGTYPES_NUM_DIVIDE_ZERO
Adivision by zerohas been attempted.
PGTYPES_DATE_BAD_DATE
An invalid date string was passedto the
PGTYPESdate_from_asc
function.
PGTYPES_DATE_ERR_EARGS
Invalid arguments were passed to the
PGTYPESdate_defmt_asc
function.
PGTYPES_DATE_ERR_ENOSHORTDATE
An invalid token in the input string was found by the
PGTYPESdate_defmt_asc
function.
PGTYPES_INTVL_BAD_INTERVAL
An invalid interval string was passed to the
PGTYPESinterval_from_asc
function, or an in-
valid interval value was passed to the
PGTYPESinterval_to_asc
function.
PGTYPES_DATE_ERR_ENOTDMY
There was a mismatch in the day/month/year assignment in the
PGTYPESdate_defmt_asc
function.
770
C# Image Convert: How to Convert Adobe PDF to Jpeg, Png, Bmp, &
C# DLLs for PDF Conversion to Images. Add necessary references to your C# project: This demo code convert PDF file all pages to jpg images.
add image pdf document; how to add image to pdf document
C# Image Convert: How to Convert Dicom Image File to Raster Images
Add necessary references to your C# project RasterEdge.XDoc.PDF.dll. inputFilePath = @"C:\input.dcm"; String outputFilePath = @"C:\output.jpg"; // Convert dicom
add picture to pdf in preview; adding image to pdf form
Chapter 33. ECPG - Embedded SQL in C
PGTYPES_DATE_BAD_DAY
An invalid day of the month value was found by the
PGTYPESdate_defmt_asc
function.
PGTYPES_DATE_BAD_MONTH
An invalid month value was found by the
PGTYPESdate_defmt_asc
function.
PGTYPES_TS_BAD_TIMESTAMP
Aninvalid timestamp string pass passed to the
PGTYPEStimestamp_from_asc
function, or an
invalid timestamp value was passed to the
PGTYPEStimestamp_to_asc
function.
PGTYPES_TS_ERR_EINFTIME
An infinite timestamp value was encountered in a context that cannot handle it.
33.6.7. Special Constants of pgtypeslib
PGTYPESInvalidTimestamp
Avalue of type timestamp representing an invalid time stamp. This is returned by the function
PGTYPEStimestamp_from_asc
on parse error. Note that due to the internal representation
of the
timestamp
data type,
PGTYPESInvalidTimestamp
is also a valid timestamp at the
same time. It is set to
1899-12-31 23:59:59
.In order to detect errors, make sure that your
application does not only test for
PGTYPESInvalidTimestamp
but also for
errno != 0
after
each call to
PGTYPEStimestamp_from_asc
.
33.7. Using Descriptor Areas
An SQL descriptor area is a more sophisticated method for processingthe resultof a
SELECT
,
FETCH
or a
DESCRIBE
statement. An SQL descriptor area groups the data of one row of data together with
metadata items into one data structure. The metadata is particularly useful when executing dynamic
SQL statements, where the nature of the result columns might not be known ahead of time. Post-
greSQL provides two ways to use Descriptor Areas: the named SQL Descriptor Areas and the C-
structure SQLDAs.
33.7.1. Named SQL Descriptor Areas
Anamed SQL descriptor area consists of a header, which contains information concerning the entire
descriptor, and one or more item descriptor areas, which basically each describe one column in the
result row.
Before you can use an SQL descriptor area, you need to allocate one:
EXEC SQL ALLOCATE DESCRIPTOR
identifier
;
The identifier serves asthe“variablename”of the descriptor area. When youdon’tneedthe descriptor
anymore, you should deallocate it:
771
C# Create PDF from images Library to convert Jpeg, png images to
images.Add(new Bitmap(Program.RootPath + "\\" 1.jpg")); images.Add(new Bitmap(Program.RootPath + "\\" 1.png")); / Build a PDF document with
adding images to pdf; add png to pdf acrobat
C# WPF PDF Viewer SDK to convert and export PDF document to other
Highlight Text. Add Text. Add Text Box. Drawing Markups. Add Stamp Annotation. image file formats with high quality, support converting PDF to PNG, JPG, BMP and
adding image to pdf; how to add image to pdf in preview
Chapter 33. ECPG - Embedded SQL in C
EXEC SQL DEALLOCATE DESCRIPTOR
identifier
;
To use a descriptor area, specify it as the storage target in an
INTO
clause, instead of listing host
variables:
EXEC SQL FETCH NEXT FROM mycursor INTO SQL DESCRIPTOR mydesc;
If the result set is empty, the Descriptor Area will still contain the metadata from the query, i.e. the
field names.
For not yet executed preparedqueries, the
DESCRIBE
statement can be used toget the metadata of the
result set:
EXEC SQL BEGIN DECLARE SECTION;
char
*
sql_stmt = "SELECT
*
FROM table1";
EXEC SQL END DECLARE SECTION;
EXEC SQL PREPARE stmt1 FROM :sql_stmt;
EXEC SQL DESCRIBE stmt1 INTO SQL DESCRIPTOR mydesc;
BeforePostgreSQL 9.0, the
SQL
keywordwas optional, sousing
DESCRIPTOR
and
SQL DESCRIPTOR
produced named SQL Descriptor Areas. Now it is mandatory, omitting the
SQL
keyword produces
SQLDADescriptor Areas, see Section 33.7.2.
In
DESCRIBE
and
FETCH
statements, the
INTO
and
USING
keywords can be used to similarly: they
produce the result set andthe metadata in a Descriptor Area.
Now how do you get the data out of the descriptor area? You can think of the descriptor area as a
structure with named fields. To retrieve the value of a field from the header and store it into a host
variable, use the following command:
EXEC SQL GET DESCRIPTOR
name
:
hostvar
=
field
;
Currently, there is only one header field defined:
COUNT
,which tells how many item descriptor areas
exist (that is, how many columns are contained in the result). The host variable needs to be of an
integer type. To get a field from the item descriptor area, use the following command:
EXEC SQL GET DESCRIPTOR
name
VALUE
num
:
hostvar
=
field
;
num
can be a literal integer or a host variable containing an integer. Possible fields are:
CARDINALITY
(integer)
number of rows in the result set
DATA
actual data item (therefore, the data type of this field depends on the query)
DATETIME_INTERVAL_CODE
(integer)
When
TYPE
is
9
,
DATETIME_INTERVAL_CODE
will have a value of
1
for
DATE
,
2
for
TIME
,
3
for
TIMESTAMP
,
4
for
TIME WITH TIME ZONE
,or
5
for
TIMESTAMP WITH TIME ZONE
.
DATETIME_INTERVAL_PRECISION
(integer)
not implemented
772
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Combine scanned images to PDF, such as tiff, jpg, png, gif, bmp, etc. Add necessary references: In addition, C# users can append a PDF file to the end of a
adding image to pdf file; acrobat insert image into pdf
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
to combine various scanned images to PDF, such as tiff, jpg, png, gif Add necessary references: In addition, VB.NET users can append a PDF file to the end of a
add photo to pdf; how to add photo to pdf in preview
Chapter 33. ECPG - Embedded SQL in C
INDICATOR
(integer)
the indicator (indicating a null value or a value truncation)
KEY_MEMBER
(integer)
not implemented
LENGTH
(integer)
lengthof the datum in characters
NAME
(string)
name of the column
NULLABLE
(integer)
not implemented
OCTET_LENGTH
(integer)
lengthof the character representation of the datum in bytes
PRECISION
(integer)
precision (for type
numeric
)
RETURNED_LENGTH
(integer)
lengthof the datum in characters
RETURNED_OCTET_LENGTH
(integer)
lengthof the character representation of the datum in bytes
SCALE
(integer)
scale (for type
numeric
)
TYPE
(integer)
numeric code of the data type of the column
In
EXECUTE
,
DECLARE
and
OPEN
statements, the effectof the
INTO
and
USING
keywordsaredifferent.
ADescriptor Area can also be manually built to provide the input parameters for a query or a cursor
and
USING SQL DESCRIPTOR
name
is the way to pass the input parameters into a parametrized
query. The statement to build a named SQL Descriptor Area is below:
EXEC SQL SET DESCRIPTOR
name
VALUE
num field
= :
hostvar
;
PostgreSQL supports retrieving more that one record in one
FETCH
statement and storing the data in
host variables inthis case assumes that the variable is an array. E.g.:
EXEC SQL BEGIN DECLARE SECTION;
int id[5];
EXEC SQL END DECLARE SECTION;
EXEC SQL FETCH 5 FROM mycursor INTO SQL DESCRIPTOR mydesc;
EXEC SQL GET DESCRIPTOR mydesc VALUE 1 :id = DATA;
773
Chapter 33. ECPG - Embedded SQL in C
33.7.2. SQLDA Descriptor Areas
An SQLDA Descriptor Area is a C language structure which can be alsoused toget the result set and
the metadata of a query. One structure stores one record from the result set.
EXEC SQL include sqlda.h;
sqlda_t
*
mysqlda;
EXEC SQL FETCH 3 FROM mycursor INTO DESCRIPTOR mysqlda;
Note that the
SQL
keywordis omitted. The paragraphs abouttheuse cases of the
INTO
and
USING
key-
words in Section 33.7.1 also apply here with an addition. In a
DESCRIBE
statement the
DESCRIPTOR
keyword canbe completely omitted if the
INTO
keyword is used:
EXEC SQL DESCRIBE prepared_statement INTO mysqlda;
The general flow of a program that uses SQLDA is:
1. Prepare a query, and declare a cursor for it.
2. Declare an SQLDA for the result rows.
3. Declare an SQLDA for the input parameters, and initialize them (memory allocation, parameter
settings).
4. Open a cursor with the input SQLDA.
5. Fetch rows from the cursor, andstore them intoan output SQLDA.
6. Read values from the output SQLDA into the host variables (with conversion if necessary).
7. Close the cursor.
8. Free the memory area allocated for the input SQLDA.
33.7.2.1. SQLDA Data Structure
SQLDAuses three data structure types:
sqlda_t
,
sqlvar_t
,and
struct sqlname
.
Tip: PostgreSQL’s SQLDA has asimilar data structuretotheoneinIBMDB2Universal Database,
so some technical information onDB2’s SQLDA could help understanding PostgreSQL’s onebet-
ter.
33.7.2.1.1. sqlda_t Structure
The structure type
sqlda_t
is the type of the actual SQLDA. It holds one record. And two or more
sqlda_t
structures can be connected in a linked list with the pointer in the
desc_next
field, thus
representing an ordered collection of rows. So, when two or more rows are fetched, the application
can read them by followingthe
desc_next
pointer in each
sqlda_t
node.
The definition of
sqlda_t
is:
struct sqlda_struct
{
char
sqldaid[8];
long
sqldabc;
774
Chapter 33. ECPG - Embedded SQL in C
short
sqln;
short
sqld;
struct sqlda_struct
*
desc_next;
struct sqlvar_struct sqlvar[1];
};
typedef struct sqlda_struct sqlda_t;
The meaning of the fields is:
sqldaid
It contains the literal string
"SQLDA "
.
sqldabc
It contains the size of the allocated space in bytes.
sqln
It contains the number of input parameters for a parametrized query case it’s passed into
OPEN
,
DECLARE
or
EXECUTE
statements using the
USING
keyword. In case it’s used as output of
SELECT
,
EXECUTE
or
FETCH
statements, its value is the same as
sqld
statement
sqld
It contains the number of fields in a result set.
desc_next
If the query returns more than one record, multiple linked SQLDA structures are returned, and
desc_next
holds a pointer to the next entry in the list.
sqlvar
This is the array of the columns in the result set.
33.7.2.1.2. sqlvar_t Structure
The structure type
sqlvar_t
holds a column value and metadata such as type and length. The defi-
nition of the type is:
struct sqlvar_struct
{
short
sqltype;
short
sqllen;
char
*
sqldata;
short
*
sqlind;
struct sqlname sqlname;
};
typedef struct sqlvar_struct sqlvar_t;
The meaning of the fields is:
sqltype
Contains the type identifier of the field. For values, see
enum ECPGttype
in
ecpgtype.h
.
775
Chapter 33. ECPG - Embedded SQL in C
sqllen
Contains the binary length of the field. e.g. 4 bytes for
ECPGt_int
.
sqldata
Points to the data. The format of the data is described in Section 33.4.4.
sqlind
Points to the null indicator. 0 means not null, -1 means null.
sqlname
The name of the field.
33.7.2.1.3. struct sqlname Structure
A
struct sqlname
structure holds a column name. It is used as a member of the
sqlvar_t
struc-
ture. The definition of the structure is:
#define NAMEDATALEN 64
struct sqlname
{
short
length;
char
data[NAMEDATALEN];
};
The meaning of the fields is:
length
Contains the length of the fieldname.
data
Contains the actual field name.
33.7.2.2. Retrieving a Result Set Using an SQLDA
The general steps to retrieve a queryresult set through an SQLDA are:
1. Declare an
sqlda_t
structure to receive the result set.
2. Execute
FETCH
/
EXECUTE
/
DESCRIBE
commands to process a query specifying the declared
SQLDA.
3. Check the number of records in the result set by looking at
sqln
,a member of the
sqlda_t
structure.
4. Get the values of each column from
sqlvar[0]
,
sqlvar[1]
,etc., members of the
sqlda_t
structure.
5. Go to next row (
sqlda_t
structure) by following the
desc_next
pointer, a member of the
sqlda_t
structure.
776
Chapter 33. ECPG - Embedded SQL in C
6. Repeat above as you need.
Here is an example retrieving a result set through an SQLDA.
First, declare a
sqlda_t
structure to receive the result set.
sqlda_t
*
sqlda1;
Next, specify the SQLDA in a command. This is a
FETCH
command example.
EXEC SQL FETCH NEXT FROM cur1 INTO DESCRIPTOR sqlda1;
Run a loop following the linked list to retrieve the rows.
sqlda_t
*
cur_sqlda;
for (cur_sqlda = sqlda1;
cur_sqlda != NULL;
cur_sqlda = cur_sqlda->desc_next)
{
...
}
Inside the loop, run another loop to retrieve each column data (
sqlvar_t
structure) of the row.
for (i = 0; i < cur_sqlda->sqld; i++)
{
sqlvar_t v = cur_sqlda->sqlvar[i];
char
*
sqldata = v.sqldata;
short sqllen
= v.sqllen;
...
}
To get a column value, check the
sqltype
value, a member of the
sqlvar_t
structure. Then, switch
to an appropriate way, depending on the column type, to copy data from the
sqlvar
field to a host
variable.
char var_buf[1024];
switch (v.sqltype)
{
case ECPGt_char:
memset(&var_buf, 0, sizeof(var_buf));
memcpy(&var_buf, sqldata, (sizeof(var_buf) <= sqllen ? sizeof(var_buf) - 1 : sqllen));
break;
case ECPGt_int: /
*
integer
*
/
memcpy(&intval, sqldata, sqllen);
snprintf(var_buf, sizeof(var_buf), "%d", intval);
break;
...
777
Documents you may be interested
Documents you may be interested