当前位置:Gxlcms > PHP教程 > php用openoffice转换csv为pdf乱码,请教如何解决

php用openoffice转换csv为pdf乱码,请教如何解决

时间:2021-07-01 10:21:17 帮助过:3人阅读

php用openoffice转换csv为pdf乱码,请问怎么解决?
打开openoffice选好编码,能完成转换,没有乱码,但是用php就是乱码了,初步确定是没设置编码,请问在php中如何设置编码,php代码如下....

PHP code
  1. <!--
  2. Code highlighting produced by Actipro CodeHighlighter (freeware)
  3. http://www.CodeHighlighter.com/
  4. --><!--?php
  5. set_time_limit(0);
  6. function MakePropertyValue($name,$value,$osm){
  7. $oStruct = $osm--->Bridge_GetStruct("com.sun.star.beans.PropertyValue");
  8. $oStruct->Name = $name;
  9. $oStruct->Value = $value;
  10. return $oStruct;
  11. }
  12. function word2pdf($doc_url, $output_url){
  13. $fdoc_url = "file:///" . $doc_url;
  14. $foutput_url = "file:///" . $output_url;
  15. $osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.n");
  16. $args = array(MakePropertyValue("Hidden",true,$osm));
  17. $oDesktop = $osm->createInstance("com.sun.star.frame.Desktop");
  18. $oWriterDoc = $oDesktop->loadComponentFromURL($fdoc_url,"_blank", 0, $args);
  19. $export_args = array(MakePropertyValue("FilterName","writer_pdf_Export",$osm));
  20. $oWriterDoc->storeToURL($foutput_url,$export_args);
  21. $oWriterDoc->close(true);
  22. }
  23. $output_dir = "F:/ComsenzEXP/wwwroot/";
  24. $doc_file = "F:/ComsenzEXP/wwwroot/11.csv";
  25. $pdf_file = "513.pdf";
  26. $output_file = $output_dir . $pdf_file;
  27. if(!file_exists($output_file)){
  28. word2pdf($doc_file,$output_file);
  29. }
  30. ?>


------解决方案--------------------
你不是 COM 吗?那你看看 com.sun.star.ServiceManager 是否提供了设置编码的方法就是了

人气教程排行