php超入门 pdf(php如何实现openoffice转pdf)

本文目录
php如何实现openoffice转pdf
php openoffice转pdf的方法:首先下载“openoffice4.1.2”;然后将用户的访问权限为“允许”,并将标识调整为交互式;最后在php环境下运行代码为“function MakePropertyValue(){}”即可。
推荐:《PHP视频教程》
php操作openoffice把文件转换成pdf
***隐藏网址***
? 2.设置权限
cmd 运行Dcomcnfg.exe-》组件服务-》计算机-》我的电脑-》DCOM配置-》OpenOffice Service Manager
3.打开openoffice 在进程中查看打开此进程的用户是谁 然后设置此用户的访问权限为允许;
然后将标识调整为交互式;
4.在php环境下运行此代码
《?php
/**
* Author: 宇翔大魔王
* Date: 17-1-6
* Time: 下午2:25
* TOpdf
*/
set_time_limit(0);
function MakePropertyValue($name,$value,$osm){
$oStruct = $osm-》Bridge_GetStruct("com.sun.star.beans.PropertyValue");
$oStruct-》Name = $name;
$oStruct-》Value = $value;
return $oStruct;
}
function word2pdf($doc_url, $output_url){
//Invoke the OpenOffice.org service manager
$osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.
");
//Set the application to remain hidden to avoid flashing the document onscreen
$args = array(MakePropertyValue("Hidden",true,$osm));
//Launch the desktop
$top = $osm-》createInstance("com.sun.star.frame.Desktop");
//Load the .doc file, and pass in the "Hidden" property from above
$oWriterDoc = $top-》loadComponentFromURL($doc_url,"_blank", 0, $args);
//Set up the arguments for the PDF output
$export_args = array(MakePropertyValue("FilterName","writer_pdf_Export",$osm));
//Write out the PDF
$oWriterDoc-》storeToURL($output_url,$export_args);
$oWriterDoc-》close(true);
}
$doc_file = "file:///D:/wamp/www/study/phpr/201701/11.doc";
$output_file = ’file:///D:/wamp/www/study/phpr/201701/11.pdf’;
word2pdf($doc_file,$output_file);
?》注意: 易错点:
1.php首先得开启com组件
php5.45之前在php.ini设置com.allow_dcom = true
php5.45之后extension=php_com_dotnet.dll
2.doc_file和output_file路径必须严格要求为
file:///D:/wamp/www/study/phpr/201701/11.pdf
php如何实现pdf转换成图片
php实现pdf转换成图片的方法:首先安装好“GhostScript”;然后使用imagick把PDF转成图片即可。
推荐:《PHP视频教程》
PHP中使用imagick实现把PDF转成图片
PHP Manual里,对imagick的描述,真的是简洁,每个成员函数,点击打开就看到如下文本:
Warning
This function is currently not documented; only its argument list is available.刚才解决了PHP加载问题后,对图片的处理相当方便,网上随便找了一段:
《?php
Header("Content-type: image/jpeg");
/**
* 缩小图片尺寸.
*
* @param $image 待处理的二进制图片
* @param $width 处理后图片尺寸的宽度(px)
* @param $height 处理后图片尺寸的高度(px)
* @param $crop 是否裁剪图片
*
* @return 处理好的二进制图片
*/
function resize($image, $width, $height, $crop)
{
$imagick = new Imagick($image);
$w = $imagick-》getImageWidth();
$h = $imagick-》getImageHeight();
if ($w 》 $width || $h 》 $height)
{
if ($crop)
{
$imagick-》cropThumbnailImage($width, $height);
}
else
{
$imagick-》resizeImage($width, $height, Imagick::FILTER_LANCZOS, 1, true);
}
}
$processed_image = $imagick-》getImageBlob();
return $processed_image;
}
$s=resize("123.jpg", 60, 40, 1);
echo $s;
?》但我要用这个扩展做的,是将PDF转成PNG。PDF哦!
《?php
/**
* PDF2PNG
* @param $pdf 待处理的PDF文件
* @param $path 待保存的图片路径
* @param $page 待导出的页面 -1为全部 0为第一页 1为第二页
* @return 保存好的图片路径和文件名
*/
function pdf2png($pdf,$path,$page=-1)
{
if(!extension_loaded(’imagick’))
{
return false;
}
if(!file_exists($pdf))
{
return false;
}
$im = new Imagick();
$im-》setResolution(120,120);
$im-》setCompressionQuality(100);
if($page==-1)
$im-》readImage($pdf);
else
$im-》readImage($pdf."");
foreach ($im as $Key =》 $Var)
{
$Var-》setImageFormat(’png’);
$filename = $path."/". md5($Key.time()).’.png’;
if($Var-》writeImage($filename) == true)
{
$Return = $filename;
}
}
return $Return;
}
$path="images";//请确保当前目录下有这个文件夹,由于一直要用,所以就不加检测了
$s=pdf2png("test.pdf",$path);
$scount=count($s);
for($i=0;$i《$scount;$i++)
{
echo "《div align=center》《font color=red》Page ".($i+1)."《/font》《br》《a href="".$s.""》《/a》《/div》《p》";
}
?》跟上面的差不多吧?可是总是不成功,readImage那边异常了,查看错误输出:
PHP Fatal error: Uncaught exception ’ImagickException’ with message ’PostscriptDelegateFailed `test.pdf’: No such file or directory’百度谷歌了好久,最后灵机一动,不是说Postscript么?我找,我装。
这个Postscript,其实是GhostScript。
装好后,一跑,OK啦!
如何从php程序读取pdf文档中的文本信息
PHP程序pdf格式文件函数库
本函数库共有65个函数
PDF是Adobe所发展的可携式文件格式,它的文件可以在网络上传输、浏览,甚至使用印表机印出,或使用其它输出装置输出,都可以保存原来的文字及图片的编排。详细的信息可以参考 Adobe 的网站。参考其中有关 PDF 或 Acrobat 的部份。
在 UNIX 系统中,可以使用 Thomas Merz 开发的 PDF 函数库。将它编译安装完成后,再编译 PHP 程序方可供 PHP 使用 pdflib。编译时可能要 JPEG library 及 TIFF library。
除了用这个函数库可以建立 PDF 文件外,FastIO 公司发展的产品 ClibPDF 也可以处理 PDF 文件。
以下为处理 PDF 文件的范例,本例对 test.pdf 加工后等待用户读取。
《?php
$fp = fopen("test.pdf", "w");
$pdf = PDF_open($fp);
pdf_set_info_author($pdf, "Uwe Steinmann");
PDF_set_info_title($pdf, "Test for PHP wrapper of PDFlib 2.0");
PDF_set_info_author($pdf, "Name of Author");
pdf_set_info_creator($pdf, "See Author");
pdf_set_info_subject($pdf, "Testing");
PDF_begin_page($pdf, 595, 842);
PDF_add_outline($pdf, "Page 1");
pdf_set_font($pdf, "Times-Roman", 30, 4);
pdf_set_text_rendering($pdf, 1);
PDF_show_xy($pdf, "Times Roman outlined", 50, 750);
pdf_moveto($pdf, 50, 740);
pdf_lineto($pdf, 330, 740);
pdf_stroke($pdf);
PDF_end_page($pdf);
PDF_close($pdf);
fclose($fp);
echo "《A HREF=getpdf.php3》finished《/A》";
?》
上例中的 gettest.php3 可能像下面的样子
《?php
$fp = fopen("test.pdf", "r");
header("Content-type: application/pdf");
fpassthru($fp);
fclose($fp);
?》
PDF_get_info: 返回文件信息。
PDF_set_info_creator: 配置建档者字符串。
PDF_set_info_title: 配置文件标题。
PDF_set_info_subject: 配置文件主题。
PDF_set_info_keywords: 配置文件的关键字。
PDF_set_info_author: 配置文件作者。
PDF_open: 建立新的 PDF 档。
PDF_close: 关闭 PDF 档。
PDF_begin_page: 启始 PDF 文件页面。
PDF_end_page: 关闭 PDF 文件页面。
PDF_show: 输出字符串到 PDF 文件。
PDF_show_xy: 输出字符串到指定坐标。
PDF_set_font: 配置使用的字型及大小。
PDF_set_leading: 配置行距。
PDF_set_text_rendering: 配置文字表现方式。
PDF_set_horiz_scaling: 配置文字水平间距。
PDF_set_text_rise: 配置文字高度。
PDF_set_text_matrix: 配置文字矩阵。
PDF_set_text_pos: 配置文字位置。
PDF_set_char_spacing: 配置字符间距。
PDF_set_word_spacing: 配置字间距。
PDF_continue_text: 输出文字。
PDF_stringwidth: 计算字符串的宽度。
PDF_save: 储存环境变量。
PDF_restore: 还原环境变量。
PDF_translate: 移动原点。
PDF_scale: 缩放类。
PDF_rotate: 旋转类。
PDF_setflat: 配置平滑值。
PDF_setlinejoin: 配置连接参数。
PDF_setlinecap: 配置 linecap 参数。
PDF_setmiterlimit: 配置斜边界限。
PDF_setlinewidth: 配置线宽。
PDF_setdash: 配置虚线样式。
PDF_moveto: 配置处理的坐标点。
PDF_curveto: 绘贝氏曲线。
PDF_lineto: 绘直线。
PDF_circle: 绘圆。
PDF_arc: 绘弧。
PDF_rect: 绘长方形。
PDF_closepath: 形成封闭的向量形状。
PDF_stroke: 沿向量绘线。
PDF_closepath_stroke: 形成封闭的向量形状并沿向量绘线。
PDF_fill: 填满目前的向量。
PDF_fill_stroke: 填满目前的向量并沿向量绘线。
PDF_closepath_fill_stroke: 形成封闭的向量形状沿向量绘线并填满。
PDF_endpath: 关闭目前向量。
PDF_clip: 组合所有向量。
PDF_setgray_fill: 指定填入的颜色为灰阶。
PDF_setgray_stroke: 指定绘图的颜色为灰阶。
PDF_setgray: 指定绘图的颜色为灰阶并填入。
PDF_setrgbcolor_fill: 指定填入的颜色为彩色。
PDF_setrgbcolor_stroke: 指定绘图的颜色为彩色。
PDF_setrgbcolor: 指定绘图的颜色为彩色并填入。
PDF_add_outline: 目前页面加入书签。
PDF_set_transition: 配置页的转换。
PDF_set_duration: 配置二页的切换时间。
PDF_open_gif: 打开 GIF 图档。
PDF_open_memory_image: 打开内存图档。
PDF_open_jpeg: 打开 JPEG 图档。
PDF_close_image: 关闭图档。
PDF_place_image: 放置图片到 PDF 档指定位置。
PDF_put_image: 放置图片到 PDF 档。
PDF_execute_image: 放置 PDF 档中图片到指定位置。
PDF_add_annotation: 加入注释。
php如何实现doc转pdf
php实现doc转pdf的方法:首先引入autoload文件;然后通过“$templateProcessor-》saveAs(’test.docx’);”加载模板的word文件;最后将“test.docx”转换成“test.pdf”即可。
推荐:《PHP视频教程》
php PDF文件,php word 转 PDF,php word,phpoffice,phpword,libreoffice
废话不多说,直接说需求
1、项目经理:“小江啊,我这里有份合同,是word格式的,你把它生成PDF格式,并且里面的内容还能”。
大致思路
1、遇到这种需求,我有点震惊了,什么需求啊这是,以前从没碰到过。然后google啊百度啊一大推的东西。我也看了几种常规生成pdf的php第三方类库。
有tcpdf,zend framework,fpdf等,tcpdf生成pdf呢,直接点呢就是文档的内容还要用html,css写,那要用这个还不吐血,zend framework 下面有个生成pdf的类库,但是有个致命的缺点,不支持中文,中文会乱码,fpdf也是一样。我全都试了个遍,没个毛用,感觉要被这个玩意搞死,当我快要放弃的时候,我看到了phpword,看到了希望,phpword支持word文档,但转换成pdf不是他的拿手好菜,无奈最后下了个libreoffice转换器,这才勉强完成了这个需求,哎,觉得非常不容易,一定要分享下,如果有更好的办法,可在下方评论:
1、直接引入autoload文件
require_once ’ vendor/phpoffice/phpword/bootstrap.php’;2、
$templateProcessor = new PhpOfficePhpWordTemplateProcessor(’layout.docx’);
$templateProcessor-》setValue(’name’, ’AAAAAAA’);
$templateProcessor-》setValue(’ID_card’, ’36042819950812782112’);
$templateProcessor-》setValue(’mobile’, ’12312341234’);
$templateProcessor-》setValue(’adress’, ’广东省深圳市宝安区西乡’);
$templateProcessor-》saveAs(’test.docx’);以上代码说明: 加载我们模板的word文件,我们在其里面设置变量格式是${name} 等等这种格式,生成的test.docx就是把setValue的值赋给了变量,是不是很神奇。
3、最后将test.docx 转换成test.pdf,这一步也走的很心酸,查了很多资料,总以为有个第三方的库可以解决,但还是没找到,libreoffice是一个开源的软件,这是个大家伙,将近1G的大小。下面将用法介绍下:
system(“export HOME=/tmp/ && libreoffice --invisible --convert-to pdf --outdir /phpstudy/www/Uploads/activity/2017-02-28/ /phpstudy/www/Uploads/activity/2017-02-28/58b53f9cad22e.xls 2》&1”);直接用system 系统函数
本文就介绍到这里吧,有疑问的小伙伴欢迎下方评论。
php怎么在页面中直接打开pdf文件
首先,在网上下载第三方转换软件。将该软件解压至浏览PHP文件的同名目录下。应用exec()执行该可执行文件。并将打开的文件保存至PHP可读的文件类型(最好以时间戳命名),并将文件赋到一个变量中。
然后通过PHP 的header函数读取该文件内容。并将读取的内容在如SDK器上打开。待用户完成后,保存至该文件中。并重新执行其他格式的文件-》PDF软件转换。重新生成PDF文件,并将原来可以被PHP 打开的文件删除。
这样即可实现用PHP 来打开PDF文件。希望能帮到你。

更多文章:
javascript动效(怎样用js编写一个开关按钮实现动态效果)
2025年7月1日 02:30
雪花秀essential(essentialfirmingcreamex是什么意思)
2026年8月21日 20:30
javasublist用法(Java中linkedlist集合取出部分元素的方法)
2026年5月11日 20:00
literaturereview网站(literaturereview的查重率很高要紧吗)
2026年4月30日 13:30
javamain打包jar运行(java 如何运行带有main方法的jar文件)
2025年6月24日 16:45
paper软件下载(小红车wallpaper电脑端怎么下载)
2025年12月21日 15:15
搜狗浏览器在线使用(电脑如何给搜狗浏览器加速|电脑使用搜狗浏览器加速功能的方法)
2026年9月6日 10:15
html版权标签(html 代码 meta name=“Copyright“ content=“Tencent“的意思)
2026年3月29日 02:15
python读取桌面上的文件(python读取文件操作文件放在哪里)
2025年10月29日 06:30
文本编辑器的(Git Window 下设置默认的文本编辑器)
2025年7月25日 20:30
AT、CVT和双离合究竟哪个更好,老?sigmaplot、spss和R语言的区别 相同点和不同点 总的说哪个更好
2025年11月27日 00:45
html跳转页面(HTML的A标签在本页跳转,这个页面是重新下载的吗)
2026年7月24日 15:45










