pdf to image converter using c# : Create a pdf form from excel control Library platform web page asp.net html web browser 201212-ug-php-oracle-188476025-part391

Working With LOBs
oci_bind_by_name($s, ':myblobid', $myblobid);
$e = oci_execute($s, OCI_COMMIT_ON_SUCCESS);
// Read and insert the BLOB from PHP's temporary upload area
$lob = oci_new_descriptor($c, OCI_D_LOB);
$sql = 'insert into mybtab (blobid, blobdata) values(:myblobid, :blobdata)';
$s = oci_parse($c, $sql);
oci_bind_by_name($s, ':myblobid', $myblobid);
oci_bind_by_name($s, ':blobdata', $lob, -1, OCI_B_BLOB);
$myv = file_get_contents($_FILES['lob_upload']['tmp_name']);
$lob->writeTemporary($myv, OCI_TEMP_BLOB);
oci_execute($s, OCI_NO_AUTO_COMMIT);
oci_commit($c);
$lob->close();
// Now query back the uploaded BLOB and display it
$sql = 'select blobdata from mybtab where blobid = :myblobid';
$s = oci_parse ($c, $sql);
oci_bind_by_name($s, ':myblobid', $myblobid);
oci_execute($s, OCI_NO_AUTO_COMMIT);
$arr = oci_fetch_assoc($s);
$result = $arr['BLOBDATA']->load();
// If any text (or whitespace!) is printed before this header is sent,
// the text won't be displayed and the image won't display properly.
// Comment out this line to see the text and debug such a problem.
header("Content-type: image/JPEG");
echo $result;
}
?>
When the script is initially loaded in a browser, $_FILES['lob_upload'] is not set and so the 
HTML upload form is displayed. Submitting this form calls $_SERVER['PHP_SELF'] which is the 
same PHP script. It now executes the second part of the else block. This deletes any existing 
image, uploads the new data from PHP's upload area and inserts it. Finally the image is 
selected and displayed. If there is any text such as whitespace before the <?php tag, or any of 
the OCI8 functions produce an error then the image will not display. To debug this, comment 
out the header() call to see the text being displayed before the image data.
LOBs and PL/SQL procedures
Temporary LOBs can also be used to pass data into PL/SQL IN parameters, or returned from 
OUT parameters. Given a PL/SQL procedure that accepts a BLOB and inserts it into MYBTAB:
Script 106: inproc.sql
create or replace procedure inproc(pid in number, pdata in blob) as
begin
insert into mybtab (blobid, blobdata) values (pid, pdata);
end;
237
Create a pdf form from excel - 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 fillable fields to pdf; cannot edit pdf form
Create a pdf form from excel - 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 change font size; adding text fields to pdf
Using Large Objects in OCI8
/
show errors
PHP code to pass a BLOB to INPROC would look like:
Script 107: inproc.php
<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
$myblobid = 125;
$myv = 'a very large amount of binary data';
$s = oci_parse($c, 'begin inproc(:myblobid, :myblobdata); end;');
$lob = oci_new_descriptor($c, OCI_D_LOB);
oci_bind_by_name($s, ':MYBLOBID', $myblobid);
oci_bind_by_name($s, ':MYBLOBDATA', $lob, -1, OCI_B_BLOB);
$lob->writeTemporary($myv, OCI_TEMP_BLOB);
oci_execute($s);
$lob->close();
?>
If the PL/SQL procedure returns a BLOB as an OUT parameter:
Script 108: outproc.sql
create or replace procedure outproc(pid in number, pdata out blob) as
begin
select blobdata into pdata from mybtab where blobid = pid;
end;
/
show errors
PHP code to fetch and display the BLOB would look like:
Script 109: outproc.php
<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
$myblobid = 125;
$s = oci_parse($c, "begin outproc(:myblobid, :myblobdata); end;");
$lob = oci_new_descriptor($c, OCI_D_LOB);
oci_bind_by_name($s, ':MYBLOBID', $myblobid);
oci_bind_by_name($s, ':MYBLOBDATA', $lob, -1, OCI_B_BLOB);
oci_execute($s, OCI_NO_AUTO_COMMIT);
if (is_object($lob)) {  // protect against a NULL LOB
$data = $lob->load();
$lob->free();
echo $data;
}
238
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
C#: Create PDF from PowerPoint; C#: Create PDF from Tiff; C#: Convert PDF to Word; C#: Convert PDF to C# Protect: Add Password to PDF; C# Form: extract value
convert word to editable pdf form; pdf fillable form creator
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Create PDF from Excel. |. Home ›› XDoc.PDF ›› C# PDF: Create PDF from Excel. Create searchable and scanned PDF files from Excel.
add editable fields to pdf; adding a signature to a pdf form
Working With LOBs
?>
Other LOB Methods
A number of other methods on the LOB descriptor allow seeking to a specified offset, 
exporting data directly to file, erasing data, and copying or comparing a LOB.
This code snippet shows seeking to the 10
th
position in the result descriptor, and then 
storing the next 50 bytes in $result:
$arr['BLOBDATA']->seek(10, OCI_SEEK_SET);
$result = $arr['BLOBDATA']->read(50);
The LOB buffering methods allow writes to the database to be deferred and then explicitly 
flushed. This reduces the number of network round-trips to the database, and allows the 
database to operate more efficiently.
The full list of LOB methods and functions is shown in Table 9. Check the PHP manual for 
usage.
Table 9: LOB methods and functions.
PHP Function or Method
Action
OCI-Lob->close
Close a LOB descriptor
OCI-Lob->eof
Test for LOB end-of-file
OCI-Lob->erase
Erases a specified part of the LOB
OCI-Lob->export
OCI-Lob->writeToFile
Write a LOB to a file
OCI-Lob->flush
Flushes buffer of the LOB to the server
OCI-Lob->free
Frees database resources associated with the LOB
OCI-Lob->getBuffering
Returns current state of buffering for the LOB
OCI-Lob->import
OCI-Lob->saveFile
Loads data from a file to a LOB. OCI8 reads the complete 
file before transferring it to the database.
OCI-Lob->load
Returns LOB contents
OCI-Lob->read
Returns part of the LOB
OCI-Lob->rewind
Moves the LOB’s internal pointer back to the beginning
OCI-Lob->save
Saves data to the LOB
OCI-Lob->seek
Sets the LOB's internal position pointer
239
VB.NET PDF Form Data Read library: extract form data from PDF in
RasterEdge .NET PDF SDK is such one provide various of form field edit functions. Demo Code to Retrieve All Form Fields from a PDF File in VB.NET.
create a fillable pdf form in word; change font size in pdf fillable form
C# PDF Form Data Read Library: extract form data from PDF in C#.
Support to get form data from specified PDF form position. Special customization for export PDF form data to Excel spreadsheet in C#.NET.
add print button to pdf form; add text field to pdf acrobat
Using Large Objects in OCI8
PHP Function or Method
Action
OCI-Lob->setBuffering
Changes LOB's current state of buffering
OCI-Lob->size
Returns size of LOB
OCI-Lob->tell
Returns current pointer position
OCI-Lob->truncate
Truncates a LOB
OCI-Lob->write
Writes data to the LOB
OCI-Lob->writeTemporary
Writes a temporary LOB
oci_lob_copy
Copies a LOB
oci_lob_is_equal
Compare two LOB locators for equality
Working With BFILEs
A BFILE is an Oracle large object (LOB) data type for files stored outside the database. BFILEs 
are a handy way for using relatively static, externally created content. They are also useful for 
loading text or binary data into Oracle tables.
If you are evaluating features, compare BFILES with Oracle's External Table feature, not 
covered in this book.
In SQL and PL/SQL, a BFILE is accessed via a locator, which is simply a pointer to the 
external file. There are numerous pre-supplied functions that operate on BFILE locators.
To show how BFILEs work in PHP this section creates a sample application that accesses 
and displays a single image. The image will not be loaded into the database but the picture 
description is loaded so it can be queried. The BFILE allows the image to be related to the 
description. Also the application could be extended in future to use PL/SQL packages to read 
and manipulate the image.
In this example, the image data is not loaded and printed in PHP. Instead, the browser is 
redirected to the image URL of the external file. This significantly reduces the amount of data 
that needs to be handled by the application.
To allow Apache to serve the image, edit httpd.conf and map a URL to the directory 
containing the file. For example if the file is /tmp/cj.jpg add:
Alias /tmp/ "/tmp/"
<Directory "/tmp/">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Using /tmp like this is not recommended for anything except testing!
Restart Apache and use a browser to check that http://localhost/tmp/cj.jpg loads the 
picture in /tmp/cj.jpg.
240
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
C#: Create PDF from PowerPoint; C#: Create PDF from Tiff; C#: Convert PDF to Word; C#: Convert PDF to C# Protect: Add Password to PDF; C# Form: extract value
create a fillable pdf form; pdf form save
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
C#: Create PDF from PowerPoint; C#: Create PDF from Tiff; C#: Convert PDF to Word; C#: Convert PDF to C# Protect: Add Password to PDF; C# Form: extract value
change font on pdf form; add fields to pdf
Working With BFILEs
In Oracle, create a DIRECTORY alias for /tmp. This is Oracle’s pointer to the operating 
system and forms part of each BFILE. The directory must be on the same machine that the 
database server runs on. Run SQL*Plus as:
$ sqlplus system@localhost/XE @bfile.sql
Where bfile.sql is:
Script 110: bfile.sql
create directory TestDir AS '/tmp';
grant read on directory TestDir to hr;
connect hr/welcome@localhost/XE
create table FileTest (
FileNum  number primary key,
FileDesc varchar2(30),
Image    bfile);
This gives the HR user access to the /tmp directory and creates a table FILETEST containing a 
file number identifier, a text description of the file, and the BFILE itself. The image data is not 
loaded into this table; the BFILE in the table is a pointer to the file on your file system.
PHP code to insert the image name into the FILETEST table looks like:
Script 111: bfileinsert.php
<?php
$c = oci_connect("hr", "welcome", "localhost/XE");
$fnum = 1;
$fdsc = "Some description to search";
$name = "cj.jpg";
$s = oci_parse($c,  "insert into FileTest (FileNum, FileDesc, Image) "
. "values (:fnum, :fdsc, bfilename('TESTDIR', :name))");
oci_bind_by_name($s, ":fnum", $fnum, -1, SQLT_INT);
oci_bind_by_name($s, ":fdsc", $fdsc, -1, SQLT_CHR);
oci_bind_by_name($s, ":name", $name, -1, SQLT_CHR);
oci_execute($s, OCI_NO_AUTO_COMMIT);
oci_commit($c);
?>
The bfilename() constructor inserts into the BFILE-type column using the TESTDIR directory 
alias created earlier. Bind variables are used for efficiency and security.
This new BFILE can be queried back in PHP:
Script 112: bfilequery1.php
<?php
$c = oci_connect("hr", "welcome", "localhost/XE");
$fnum = 1;
$s = oci_parse($c, "select Image from FileTest where FileNum = :fnum");
241
VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
Qualified Tiff files are exported with high resolution in VB.NET. Create multipage Tiff image files from PDF in VB.NET project. Support
add submit button to pdf form; create a pdf form that can be filled out
C# Create PDF from Tiff Library to convert tif images to PDF in C#
Create PDF from Tiff. |. Home ›› XDoc.PDF ›› C# PDF: Create PDF from Tiff. Create PDF from Tiff in both .NET WinForms and ASP.NET application.
pdf add signature field; change font pdf form
Using Large Objects in OCI8
oci_bind_by_name($s, ":fnum", $fnum);
oci_execute($s);
$row = oci_fetch_assoc($s);
$bf = $row['IMAGE'];        // This is a BFILE descriptor
echo "<pre>"; var_dump($bf); echo "</pre>";
?>
This displays the BFILE descriptor:
object(OCI-Lob)#1 (1) {
["descriptor"]=>
resource(7) of type (oci8 descriptor)
}
For simplicity, the query condition is the file number of the new record. In real life it might use 
a regular expression on the FILEDESC column like:
select Image from FileTest where regexp_like(FileDesc, 'somepattern')
In this example the file name is needed so the browser can redirect to a page showing the 
image. Unfortunately there is no direct method in PHP to get the filename from the descriptor. 
However, an Oracle procedure can be created to do this.
Instead of executing the query in PHP and using PL/SQL to find the filename, a more 
efficient method is to do both in PL/SQL. Here an anonymous block is used. Alternatively, a 
procedure could be used. 
The previous query code in bfilequery1.php can be replaced with:
Script 113: showpic.php
<?php
$c = oci_connect("hr", "welcome", "localhost/XE");
$s = oci_parse($c,
'declare '
.   'b_l bfile;'
.   'da_l varchar2(255);'
. 'begin '
.   'select image into b_l from filetest where filenum = :fnum;'
.   'dbms_lob.filegetname(b_l, da_l, :name);'
. 'end;');
$fnum = 1;
oci_bind_by_name($s, ":fnum", $fnum);
oci_bind_by_name($s, ":name", $name, 255, SQLT_CHR);
oci_execute($s);
header("Location: http://localhost/tmp/$name");
?>
The filename cj.jpg is returned in $name courtesy of the :name bind variable argument to the 
DBMS_LOB.FILEGETNAME() function. The header() function redirects the user to the image. If 
any text is printed before the header() is output, the HTTP headers will not be correct and the 
242
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
C#.NET PDF SDK- Create PDF from PowerPoint in C#. How to Use C#.NET PDF Control to Create PDF from Microsoft PowerPoint Presentation in .NET Project.
create a fillable pdf form from a pdf; add signature field to pdf
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Create PDF from Word. |. Home ›› XDoc in C#. C# Demo Code to Create PDF Document from Word in C# Program with .NET XDoc.PDF Component.
allow saving of pdf form; allow users to save pdf form
Working With BFILEs
image will not display. If you have problems, comment out the header() call and echo $name 
to check it is valid.
BFILEs are easy to use in PL/SQL because the pre-supplied DBMS_LOB package has a 
number of useful functions. For example DBMS_LOB.LOADFROMFILE() reads BFILE data from the 
file system into a PL/SQL BLOB or CLOB. This could be loaded into a BLOB table column, 
manipulated in PL/SQL, or even returned to PHP using OCI8’s LOB features. Another example 
is DBMS_LOB.FILEEXISTS(), which can be used to check whether the FILETEST table contains 
references to images that do not exist.
BFILEs are very useful for many purposes including loading images into the database, but 
BLOBs may be better in some circumstances. Changes to BFILE locators can be rolled back or 
committed but since the files themselves are outside the database, BFILE data does not 
participate in transactions. You can have dangling references to BFILEs because Oracle does 
not check the validity of BFILEs until the data is explicitly read (this allows you to pre-create 
BFILEs or to change the physical data on disk). BFILE data files are read-only and cannot be 
changed within Oracle. Finally, BFILEs need to be backed up manually. Because of these 
points, there might be times you should use BLOBs to store images inside the database to 
ensure data and application consistency but BFILEs are there if you want them.
243
Using Large Objects in OCI8
244
CHAPTER 14
U
SING
XML W
ITH
O
RACLE
AND
PHP
Both Oracle and PHP 5 have excellent XML capabilities. All editions of Oracle contain what is 
known as “XML DB”, the XML capabilities of the database. When tables are created, XML can 
be stored in linear LOB format, or according to the structure of your XML schema.
This chapter covers the basics of using XML data with Oracle and PHP. It also shows how to 
access data over HTTP directly from the database.
Fetching Relational Rows as XML
One useful feature of XML DB is that existing relational SQL tables can automatically be 
retrieved as XML:
Script 114: xmlfrag.php
<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
$query =
'select xmlelement("Employees",
xmlelement("Name", employees.last_name), 
xmlelement("Id", employees.employee_id)) as result
from employees
where employee_id > 200';
$s = oci_parse($c, $query);
oci_execute($s);
while ($row = oci_fetch_array($s, OCI_NUM)) {
foreach ($row as $item) {
echo htmlentities($item)."<br>\n";
}
}
?>
The returned values are XML fragments, and not fully formed XML documents. The output is:
<Employees><Name>Hartstein</Name><Id>201</Id></Employees> 
<Employees><Name>Fay</Name><Id>202</Id></Employees> 
<Employees><Name>Mavris</Name><Id>203</Id></Employees> 
<Employees><Name>Baer</Name><Id>204</Id></Employees> 
<Employees><Name>Higgins</Name><Id>205</Id></Employees> 
<Employees><Name>Gietz</Name><Id>206</Id></Employees>
245
Using XML With Oracle and PHP
Tip: Watch out for the quoting of XML queries. The XML functions can have embedded double-
quotes. This is the exact opposite of standard SQL queries, which can have embedded single 
quotes. Use a PHP HEREDOC or NOWDOC to help construct queries.
There are a number of other XML functions that can be similarly used. See the Oracle 
Database SQL Language Reference.
Fetching Rows as Fully Formed XML
Another way to create XML from relational data is to use the PL/SQL package DBMS_XMLGEN. 
This package returns a fully formed XML document, with the XML header.
Queries that use DBMS_XMLGEN return a CLOB column, so the result in PHP needs to be 
treated as a LOB descriptor. There is effectively no length limit for CLOBs. The following 
example queries the first name of employees in department 30 and stores the XML marked-
up output in $mylob:
Script 115: getxml.php
<?php
$c = oci_connect('hr', 'welcome', 'localhost/XE');
$query = "select dbms_xmlgen.getxml('
select first_name
from employees
where department_id = 30') xml
from dual";
$s = oci_parse($c, $query);
oci_execute($s);
$row = oci_fetch_array($s, OCI_NUM);
$x = $row[0]->load(); // treat result as a LOB descriptor
$row[0]->free();
echo "<pre>\n";
echo htmlentities($x);
echo "</pre>\n";
?>
The output in a browser is:
<?xml version="1.0"?>
<ROWSET>
<ROW>
<FIRST_NAME>Den</FIRST_NAME>
</ROW>
<ROW>
<FIRST_NAME>Alexander</FIRST_NAME>
</ROW>
246
Documents you may be interested
Documents you may be interested