Frequently Asked Question:
Can I use Quick PDF Library with Microsoft Access?
Question
Can I use Quick PDF Library with Microsoft Access?
Answer
Yes, you can use Quick PDF Library to generate PDF files from Microsoft Access. I've put together a small sample for you that demonstrates how to generate a PDF using data obtained from a Microsoft Access database. The basic code is provided below:
using System;
using System.Data;
using System.Data.OleDb;
using QuickPDFDLL0718;
// This example uses the DLL edition of Quick PDF Library
public class QPL
{
public static void Main()
{
// Copy full path of *.mdb file here
DBHandling db = new DBHandling(@"Books.mdb");
//Output file name will be QLPBooks.pdf
db.WriteBooksRecordsToPDF("QLPBooks.pdf");
}
class DBHandling
{ // If you want to use the ActiveX edition of the library, swap
// the two lines of code below.
// QuickPDFAX0718.PDFLibrary pdf = new QuickPDFAX0718.PDFLibrary();
PDFLibrary pdf = new PDFLibrary("QuickPDFDLL0718.dll");
OleDbConnection OldeDbcon;
int YPos;
public DBHandling(string FilePath)
{
string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"" + FilePath +
"\";Persist Security Info=True";
OldeDbcon = new OleDbConnection(ConStr);
}
public void WriteBooksRecordsToPDF(string PdfFileName)
{
pdf.UnlockKey("..."); // Insert your license key here!
int Id = pdf.NewDocument();
string Query = "SELECT * FROM Books";
OleDbCommand cmd = new OleDbCommand(Query, OldeDbcon);
if (OldeDbcon.State != ConnectionState.Open) OldeDbcon.Open();
OleDbDataReader rdr;
try
{
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
YPos = 750;
WriteRecord(Convert.ToInt32(rdr["ID"]), Convert.ToString(rdr["Title"]),
Convert.ToString(rdr["Author"]),
Convert.ToString(rdr["Publisher"]), Convert.ToDouble(rdr["Price"]),
Convert.ToString(rdr["ISBN"]));
pdf.NewPage();
}
pdf.SaveToFile(PdfFileName);
}
catch (Exception Ex)
{
Console.WriteLine(Ex.ToString());
Console.ReadLine();
}
OldeDbcon.Close();
}
public void WriteRecord(int Id, string Title, string Author, string Publisher,
double Price, string ISBN)
{
WriteBookTitle(Title); YPos -= 20;
WriteBookAuthor(Author); WriteBookPrice(Price); YPos -= 20;
WriteBookPublisher(Publisher); YPos -= 20;
WriteBookISBN(ISBN);
}
public void WriteBookTitle(string Title)
{
pdf.AddStandardFont(8);
pdf.SelectFont(8);
string FontName = pdf.FontName();
pdf.SetTextSize(20);
pdf.DrawText(225, YPos, "Book Title " + Title);
}
public void WriteBookAuthor(string Author)
{
pdf.AddStandardFont(0);
pdf.SelectFont(0);
string FontName = pdf.FontName();
pdf.SetTextSize(16);
pdf.DrawText(10, YPos, "Author Name: " + Author);
}
public void WriteBookPublisher(string Publisher)
{
pdf.AddStandardFont(3);
pdf.SelectFont(3);
string FontName = pdf.FontName();
pdf.SetTextSize(16);
pdf.DrawText(10, YPos, "Publisher : " + Publisher);
}
public void WriteBookPrice(double Price)
{
pdf.AddStandardFont(3);
pdf.SelectFont(3);
string FontName = pdf.FontName();
pdf.SetTextSize(16);
pdf.DrawText(350, YPos, "Price: " + Price.ToString() + "$");
}
public void WriteBookISBN(string ISBN)
{
pdf.AddStandardFont(3);
pdf.SelectFont(3);
string FontName = pdf.FontName();
pdf.SetTextSize(16);
pdf.DrawText(10, YPos, "ISIN : " + ISBN);
}
}
}