电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

怎樣在php中使用PDF文檔功能

瀏覽:28日期:2024-01-17 14:20:57
寫給Hunte: 好久不在網上見你,真有點說不出來的感覺,沒有hunte的phpuser.com什么也不是. 轉了你站上的兩篇文章, 特翻了一篇了以示致歉. ---------------------------------------------------- 原作者:Perugini Luca (www.phpbuilder.com) 譯者:znsoft (http://www.phpease.com) --------------------------------------------------- 轉載請保留以上信息,否則請不要轉載! PHP捆綁PDFLIB庫也許是最好的web出版平臺了。一對典型的用法: 需求小冊子 電子商務發貨單 通過這個指南,你可以學會怎樣使用php4中的PDF擴展來創建PDF文檔。 我們也把焦點放在用mysql數據來創建PDF文檔。 內容摘要 安裝PDFLib 3.0.1 和有PDF支持的PHP4.01pl2(譯注:你可以安裝最新的php4.03pl1) 提取PDF文檔 (我假設你有一點配置php的經驗) 安裝PDFLib和有PDF支持的PHP。 需求: PHP 4.02+ 從 http://php.net 下載 PDFLib 3.0.1 從 http://www.pdflib.com 下載 這是一個怎樣讓PDFLib3.0.1和php4一起工作的小秘方:(老外很幽默的^_^) 直接從http://www.php.net下載 ext/pdf/pdf.c的補丁來支持PDFLib v 3.0.1 下載PDFLib3.0.1從此處 http://www.pdflib.com 適用的補丁你可以在此找到 http://www.pdflib.com/pdflib/patches.html 配置,Make和安裝PDFLib #./configure --enabled-shared-pdflib #make #make install 你會使得 PDFLib 安裝在 /usr/local/lib . 配置 PHP #./configure --with-apxs=/usr/bin/apxs --with-gd --with-pdflib=/usr/local --with-mysql=/usr/local --with-config-file-path=/etc/httpd --with-zlib-dir=/usr --with-ttf=/usr/local/include --with-jpeg-dir=/usr --with-tiff-dir=/usr --with-system-regex=yes --enable-debug=no #make #make install 更新系統庫 插入 /usr/local/lib 進 /etc/ld.so.conf (文件) #/sbin/ldconfig 測試和驗證 現在你需要重啟apache #apachectl restart 拷貝pdfclock.php 到的httpd目錄中(就是web目錄)...測試....一切正常。 重要信息 要使得PHPLIb和字體一起工作你必須注意PDFLib手冊中的UPR部分。 最簡單的用PDFLib使用字體的辦法是拷貝PDFlib tar包中的標準UPR描述文件(fonts/pdflib.upr)到你的工作目錄。 提取PDF文檔 現在我們已經作好了如飛地生成PDF文檔的條件! 在這個小例子中我們要生成FLYStore公司的需求小冊子,當然是從目錄數據庫中提取數據。 準備數據庫 我假設你有一點數據庫的經驗,最小限度,我真的只希望你懂得怎樣創建一個數據庫并向其中插入表。 創建表 catalogue: create table catalogue( id smallint(8) unsigned DEFAULT '0' NOT NULL, item varchar(100) DEFAULT '' NOT NULL, description tinytext, img_data longblob, imgname varchar(60), imgsize varchar(60), imgtype varchar(60), price smallint(8) unsigned DEFAULT '0' NOT NULL, PRIMARY KEY (id), KEY item (item(20)) ); 送出MIME頭信息 為了讓我們的正確地顯示出來,我們需要送出正確的頭信息到用戶的瀏覽器。 在PHP中我們可以用header函數實現。下面的代碼送出正確的MIME類型到瀏覽器。 header( "Content-type: application/pdf" ); header( "Content-Disposition: attachment; filename=modulo.pdf" ); header( "Content-Description: PHP3 Generated Data" ); 重要信息 你必須知道的是在送出頭信息前不能輸出任何東西。一個常見的錯誤是在文件的開頭存在空格。 從mysql中取數 這兒我們用一個從目錄數據中提數據的簡單代碼片斷。 <?php $link = mysql_connect ("127.0.0.1", "flyadm", "flystore") or die ("Could not connect"); mysql_select_db ("flystore", $link); $result = mysql_query ("SELECT * FROM catalogue", $link) or die ("Invalid query"); $data = mysql_fetch_row ($result); .... .... mysql_close ($link); ?> 生成PDF文件 為了生成PDF文檔,我們需要作經過以下步驟: 打開一個PDF流,并使它和一個句柄關聯: $pdf = PDF_open(); (Optional) Set document information like Author, Title, Subject, etc (可選的)設置文檔信息,如作者,標題,主題,等 開始一個新頁(PDF文件可以用不同的版面生成不同的頁,比如肖像,前景...): PDF_begin_page($pdf, 595, 842); (可選的)設置一個超鏈接: PDF_add_outline($pdf, "Item ".$data[1]); 選擇字體類型, 尺寸 (pdf_set_font($pdf, "Helvetica-Bold" , 20, winansi);) 表現模式 插入文本在X.y位置: PDF_show_xy($pdf, "Item : " .$data[1], 100, 700); 或插入圖片在X.Y位置: pdf_place_image($pdf, $im, 100, 300, 3); 刷新文本緩沖區并關閉PDF流。 PDF Coordinate Systems What we need to do to locate a string or picture in some part of the PDF page, 在PDF頁的很多地方我們需要定位字符串和圖片,轉換英制單位到DTP點值. 在PDFLIB手冊的45頁寫到: ".. .缺省的坐標系統的原點在頁面的左下角,用DTP點作為單位: 1 pt = 1 inch /72 = 25.4mm /72 = 0.3528 mm " 這兒是生成PDF文件的代碼片斷: <?php $pdf = PDF_open(); pdf_set_info_author($pdf, "Luca Perugini"); PDF_set_info_title($pdf, "Brochure for FlyStore"); pdf_set_info_creator($pdf, "See Author"); pdf_set_info_subject($pdf, "FlyStore"); PDF_begin_page($pdf, 595, 842); PDF_add_outline($pdf, "Item ".$data[1]); pdf_set_font($pdf, "Helvetica-Bold" , 20, winansi); pdf_set_text_rendering($pdf, 0); pdf_show_xy($pdf, "FlyStore Catalogue 2000",50,780); PDF_show_xy($pdf, "Item : " .$data[1], 100, 700); PDF_show_xy($pdf, "Description : " .$data[2], 100, 620); $im = PDF_open_jpeg($pdf, "pass4_sml.jpg"); pdf_place_image($pdf, $im, 100, 300, 3); pdf_close_image ($im); pdf_stroke($pdf); PDF_end_page($pdf); PDF_close($pdf); ?> 在最后,我要提示你這篇文章不是PDF教程,如果你需要更多的PDF文檔的信息和用法,你可以訪問 http://www.pdfzone.com/ 和 http://www.planetpdf.com/. 我希望對你有用。
標簽: PHP
主站蜘蛛池模板: 语料库-提供经典范文,文案句子,常用文书,您的写作得力助手 | 游动电流仪-流通式浊度分析仪-杰普仪器(上海)有限公司 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 台式恒温摇床价格_大容量恒温摇床厂家-上海量壹科学仪器有限公司 | 阜阳在线-阜阳综合门户| 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 耐热钢-耐磨钢-山东聚金合金钢铸造有限公司 | 电动打包机_气动打包机_钢带捆扎机_废纸打包机_手动捆扎机 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 烟台金蝶财务软件,烟台网站建设,烟台网络推广 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | 山东石英砂过滤器,除氟过滤器「价格低」-淄博胜达水处理 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | 丙烷/液氧/液氮气化器,丙烷/液氧/液氮汽化器-无锡舍勒能源科技有限公司 | 网站建设-网站制作-网站设计-网站开发定制公司-网站SEO优化推广-咏熠软件 | 减速机三参数组合探头|TSM803|壁挂式氧化锆分析仪探头-安徽鹏宸电气有限公司 | 手板_手板模型制作_cnc手板加工厂-东莞天泓 | 拉曼光谱仪_便携式|激光|显微共焦拉曼光谱仪-北京卓立汉光仪器有限公司 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 大数据营销公司_舆情监测软件_上海SEO公司-文军营销官网 | 电动球阀_不锈钢电动球阀_电动三通球阀_电动调节球阀_上海湖泉阀门有限公司 | 威廉希尔WilliamHill·足球(中国)体育官方网站 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | elisa试剂盒-PCR试剂盒「上海谷研实业有限公司」 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 空气净化器租赁,空气净化器出租,全国直租_奥司汀净化器租赁 | 盛源真空泵|空压机-浙江盛源空压机制造有限公司-【盛源官网】 | 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 | 油缸定制-液压油缸厂家-无锡大鸿液压气动成套有限公司 | 运动木地板厂家_体育木地板安装_篮球木地板选购_实木运动地板价格 | 餐饮加盟网_特色餐饮连锁加盟店-餐饮加盟官网 | 广州食堂承包_广州团餐配送_广州堂食餐饮服务公司 - 旺记餐饮 | 福建珂朗雅装饰材料有限公司「官方网站」 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 合金ICP光谱仪(磁性材料,工业废水)-百科 |