php文档 pdf文件,PHP PDF_open_file 用法 手册 | 示例代码

php at mijav dot dk

The example uses pdf_set_font, but that function is deprecated. Instead use pdf_setfont (without the underscore).

gbl at bso2001 dot com

Appending to PDF files: plainly, you can't. PDF files have an internal structure that would get corrupted by just appending to the file. You'd need to parse the PDF, create a new PDF and mix your additions with the old PDF. Just creating a new one should be *much* easier.

Reading back the results: do a fopen() on the temporary file and use fgets() to read it. In your example where you just want to output the file, passthru should do the trick.

Anonymous

After some troubles I found filename must be absolute path  here in windows; relative path doesn't work in my box.

php 4.3.5-dev

Anonymous

you better use forward slashes in a path

RandyAtHorktDotCom

It is possible to append pdfs to each other, however it requires the commercial version of PDFlib with PDI support (http://www.pdflib.com)

I've used it quite a bit and is well worth the price they are asking for.

jon at logicworks dot cc

When creating a pdf in memory, it appears that the code is executed twice. This does not seem to happen when creating a pdf as file. Not a problem when outputing a pdf, but does cause a problem if doing other writes in the same code:

// the write to the file is executed twice

$fp = fopen("testfile.htm", "a");

fwrite($fp, "testline/") ;

fclose($fp);

//--------------

$pdf = pdf_new();

if (!pdf_open_file($pdf, "")) {

print error;

exit;

};

pdf_begin_page($pdf, 8.5*72, 11*72);

pdf_set_font($pdf, "Helvetica-Bold", 24, "host");

pdf_set_text_pos($pdf, 50, 700);

pdf_show($pdf,"Hello,world!");

pdf_end_page($pdf);

pdf_close($pdf);

$buf = pdf_get_buffer($pdf);

$len = strlen($buf);

header("Content-type: application/pdf");

header("Content-Length: $len");

header("Content-Disposition: inline; filename=foo.pdf");

print $buf;

Anonymous

"Fatal error: PDFlib error: [2100] PDF_begin_page: Function must not be called in 'object' scope.."

If you get this error then you probably forgot to call pdf_open_file() or pdf_open_file() failed.

Button dot Man at gmail dot com

"Fatal error: PDFlib error: [2100] PDF_begin_page: Function must not be called in 'object' scope"

I found a solution for this fault:

when i got the fault, this was the script ->

$pdf=pdf_new();pdf_open_file($pdf,"C:webpdftest45.pdf");pdf_begin_page($pdf,595,842);pdf_set_font($pdf,"Times-Roman",30,"host");pdf_set_value($pdf,"textrendering",1);pdf_show_xy($pdf,"A PDF document is created!",50,750);pdf_end_page($pdf);pdf_close($pdf);?>

but when i added some slashes to the path:

$pdf =pdf_new();

pdf_open_file($pdf,"C:\web\pdf\test45.pdf");pdf_begin_page($pdf,595,842);pdf_set_font($pdf,"Times-Roman",30,"host");pdf_set_value($pdf,"textrendering",1);pdf_show_xy($pdf,"A PDF document is created!",50,750);pdf_end_page($pdf);pdf_close($pdf);

?>

there wasn't no fault anymore and the pdf-file was succesfully created

I think you guys get the point ( add 2 slashes )

Glenn

nils at deviant dot no

If you get "Fatal error: PDFlib error: function 'PDF_set_info' must not be called in 'object' scope in script.php on line xxx" when using pdf_open_file with a filename, make sure your webserver has write permissions to the directory your are trying to save your PDF file to.

alfred dot zingg at freesurf dot ch at example dot com

...

$fd = fopen("download/liste.pdf", "w");

$pdfdoc = pdf_open($fd);

pdf_begin_page($pdfdoc, 595, 842);

pdf_set_font($pdfdoc, "Helvetica", 20, "host", 1);

pdf_set_text_pos($pdfdoc, 50, 795);

pdf_show($pdfdoc, "Liste");

...

does not work under PHP5, use

...

$fd = fopen("download/liste.pdf", "w");

$pdfdoc = pdf_new();

pdf_open_file($pdfdoc, "download/liste.pdf");

pdf_begin_page($pdfdoc, 595.3, 841.8);

$font = pdf_findfont($pdfdoc, "Helvetica", "winansi", 0);

pdf_set_font($pdfdoc, $font, 20);

pdf_set_text_pos($pdfdoc, 50, 795);

pdf_show($pdfdoc, "Liste");

...

phpnet021221 A~T netized D~O~T com

FYI: the reason you had to add the double slashes was due to the fact that your string was contained within double quotes rather than single quotes.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值