Jump to content

PDF Generation using PDFLIB


raji20

Recommended Posts

Hello Guys,

Im using pdflib for generating pdf, It is working fine, when I used a single page pdf as the template, but when I use a pdf with two pages I dont know how to write in first page and second page

$page = PDF_open_pdi_page($p, $blockcontainer, 2, "");  // I have set the pdf points to second page

Here in the above line, I have set the pdf to write in second page, but I dont know how to write in first page of the pdf.

here is the code that I have used to generate pdf.

Can anyone help me to sort out this issue.

Thanks in Advance.


[code]
<?php
$infile = "Template.pdf";

$searchpath = "./data";

$p = PDF_new();

/*  open new PDF file; insert a file name to create the PDF on disk */
if (PDF_begin_document($p, "", "") == 0) {
    die("Error1: " . PDF_get_errmsg($p));
}

/* Set the search path for fonts and PDF files */
PDF_set_parameter($p, "SearchPath", $searchpath);

/* This line is required to avoid problems on Japanese systems */
PDF_set_parameter($p, "hypertextencoding", "winansi");

    PDF_set_info($p, 'Creator', 'PDF Builder using PDFlib');
    PDF_set_info($p, 'Author', 'Author Name');
PDF_set_info($p, "Title", "Card Title");

$blockcontainer = PDF_open_pdi($p, $infile, "", 0);
if ($blockcontainer == 0){
    die ("Error2: " . PDF_get_errmsg($p));
}

$page = PDF_open_pdi_page($p, $blockcontainer, 2, "");  // I have set the pdf points to second page
if ($page == 0){
    die ("Error3: " . PDF_get_errmsg($p));
}

PDF_begin_page_ext($p, 600, 600, ""); /* dummy page size */

/* This will adjust the page size to the block container's size. */
PDF_fit_pdi_page($p, $page, 0, 0, "adjustpage");


//Load the fonts to be used
// FuturaHeavy
PDF_set_parameter($p, 'FontOutline', 'FuturaHeavy=lte50188.ttf' );
$font = PDF_load_font($p, 'FuturaHeavy', 'winansi', 'embedding');
// FuturaHeavy PostScript Font
PDF_set_parameter($p, 'FontPFM', 'FuturaLtBt=0138A___.PFM' );//NOTE - you have to use 'FontPFM' for the FontMetrics of PS font in place of FontOutline as for TT fonts
PDF_set_parameter($p, 'FontOutline', 'FuturaLtBt=0138A___.PFB' );//NOTE - you have to use 'FontOutline' for PS font FontOutline in addition to the above
$font = PDF_load_font($p, 'FuturaLtBt', 'winansi', 'embedding');
PDF_set_parameter($p, "charref", "true");// allows &nbsp etc


//Do colour
//$spot = PDF_makespotcolor($p, "PANTONE 341 U", 0);
//PDF_setcolor($p, "both", $spot, 0.7, 0, 0);

//Create the name
$text="<leading=100% charspacing=0.35 fontname=FuturaLtBt fontsize=5 encoding=winansi>Name\r\n";
$text.="<leading=250% charspacing=0.95 fontname=FuturaLtBt fontsize=5 encoding=winansi>email@email.com\r\n";
$text.="<leading=290% charspacing=0.35 fontname=FuturaLtBt fontsize=5 encoding=winansi>000 0000 0000\r\n";
$text.="<leading=140% charspacing=0.35 fontname=FuturaLtBt fontsize=5 encoding=winansi>000 0000 0000\r\n";
$text.="<leading=143% charspacing=0.35 fontname=FuturaLtBt fontsize=5 encoding=winansi>000 0000 0000\r\n";
$text.="<leading=409% charspacing=0.35 fontname=FuturaLtBt fontsize=5 encoding=winansi>Address Address \r\n";
$text.="<leading=139% charspacing=0.35 fontname=FuturaLtBt fontsize=5 encoding=winansi>POSTCODE \r\n";


$textbox = PDF_create_textflow($p, $text, "fillcolor={ spotname {PANTONE 341 U} 1 } alignment=left leading=170% charspacing=1 fontname=FuturaHeavy fontsize=9 encoding=winansi") or die ("PDF Error=" . PDF_get_errmsg($p));

$left_x=114.175;
$left_y=6.175; //
$right_x=227.05515; // Horizontal moving towards right
$right_y=128.13203; // moving the box top vertically
$offset = 0;

//"fillcolor={rgb 1 0 0}"
$result = PDF_fit_textflow($p, $textbox, $left_x, $left_y, $right_x, $right_y, "verticalalign=top showborder=false") or die ("PDF Error=" . PDF_get_errmsg($p));



if (strcmp($result, "_stop"))  {
    die ("Error: result=" . $result . " PDF Error=" . PDF_get_errmsg($p));
}

PDF_delete_textflow($p, $textbox);
$text="";


PDF_end_page_ext($p, "");
PDF_close_pdi_page($p, $page);

PDF_end_document($p, "");
PDF_close_pdi($p, $blockcontainer);

$buf = PDF_get_buffer($p);
$len = strlen($buf);

header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=test.pdf");
print $buf;

PDF_delete($p);
?>
[/code]
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.