search
HomeBackend DevelopmentPHP Tutorialphpexcel 导出pdf文件乱码

代码过程是,读取模板文件template.xls。写入对应内容,导出pdf文件。template.xls文件内容带有表格和日文。 个人认为是没有字体的原因,但是如何对应,望大虾告知!!!

require_once 'excel/PHPExcel.php';$objPHPExcel = PHPExcel_IOFactory::load( "template.xls" );$objPHPExcel->setActiveSheetIndex(0);$objWorksheet = $objPHPExcel->getActiveSheet();//写内容$objWorksheet->getCell("C1")->setValue("test");//假如图片$objDrawing = new PHPExcel_Worksheet_Drawing();$objDrawing->setName('stamp');$objDrawing->setDescription("aaaa");$objDrawing->setPath("images/p1.jpg");$objDrawing->setCoordinates('M1');$objDrawing->setOffsetX(25);$objDrawing->setRotation(36);$objDrawing->setHeight(73);$objDrawing->getShadow()->setVisible(true);$objDrawing->getShadow()->setDirection(45);$objDrawing->setWorksheet($objWorksheet);$objWorksheet->setTitle('Simple');ob_end_clean();header('Content-Type: application/pdf');header('Content-Disposition: attachment;filename="detail.pdf"');header('Cache-Control: max-age=0');$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');$objWriter->save('php://output');exit;


回复讨论(解决方案)

导出的pdf文件,边框很粗,日文内容是乱码

?定?容文字是UTF-8编码??如果不是就要用iconv????。

没有编码的问题,乱码问题解决了。
简体中文显示,字体设成arialunicid0-chinese-simplified
日文显示,字体设成arialunicid0-japanese

希望对大家有用。
不过为什么显示粗黑框的问题还没有解决方法~~~

?定?容文字是UTF-8编码??如果不是就要用iconv????。


没有编码的问题。
简体中文显示,字体设成arialunicid0-chinese-simplified
日文显示,字体设成arialunicid0-japanese   即可。

phpexcel生成pdf有一个重大的缺陷:excel中如果有图片,生成的pdf里不会保留,所以你用这个来生成pdf文件不是最好的方案!

phpexcel生成pdf有一个重大的缺陷:excel中如果有图片,生成的pdf里不会保留,所以你用这个来生成pdf文件不是最好的方案!


预定内容很多是不变的,并且格式要求复杂,所以把这些内容和格式做成模板xls文件。这个功能不会涉及到图片的。

有没有比较好的方案,不是写入所有的内容,而是先导入模板,在模板基础上修改内容,保存成pdf文件呢?大虾推荐一个方案吧~~


phpexcel生成pdf有一个重大的缺陷:excel中如果有图片,生成的pdf里不会保留,所以你用这个来生成pdf文件不是最好的方案!


预定内容很多是不变的,并且格式要求复杂,所以把这些内容和格式做成模板xls文件。这个功能不会涉及到图片的。

有没有比较好的方案,不是写入所有的内容,而是先导入模板,在模板基础上修改内容,保存成pdf文件呢?大虾推荐一个方案吧~~

按你上面的代码方案就可以了,动态写入单元格的图片可以保留到pdf里面



phpexcel生成pdf有一个重大的缺陷:excel中如果有图片,生成的pdf里不会保留,所以你用这个来生成pdf文件不是最好的方案!


预定内容很多是不变的,并且格式要求复杂,所以把这些内容和格式做成模板xls文件。这个功能不会涉及到图片的。

有没有比较好的方案,不是写入所有的内容,而是先导入模板,在模板基础上修改内容,保存成pdf文件呢?大虾推荐一个方案吧~~

按你上面的代码方案就可以了,动态写入单元格的图片可以保留到pdf里面

但是,显示格式的问题,不知道遇没遇到过,一会儿,我上传一张图片。

下图是excel模板文件


下面的图,是生成的pdf文件,为什么格式与excel模板文件不一致

我用2.1版本的做了一下测试,所生成的pdf里,对单元格边框的支持也不是很好,莫名其妙的会有一些加粗的边框,具体的代码层面的原因还没有好好分析;可能这就是它的一个缺陷之处吧。

个人感觉你用它来处理pdf,就好比你要用自行车开出汽车一样的时速来,毕竟这不是它的专业,它的专业就是对excel的操作

个人感觉你用它来处理pdf,就好比你要用自行车开出汽车一样的时速来,毕竟这不是它的专业,它的专业就是对excel的操作


谢谢高手解惑  ^_^
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

How to make PHP applications fasterHow to make PHP applications fasterMay 12, 2025 am 12:12 AM

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

PHP Performance Optimization Checklist: Improve Speed NowPHP Performance Optimization Checklist: Improve Speed NowMay 12, 2025 am 12:07 AM

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

PHP Dependency Injection: Improve Code TestabilityPHP Dependency Injection: Improve Code TestabilityMay 12, 2025 am 12:03 AM

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

PHP Performance Optimization: Database Query OptimizationPHP Performance Optimization: Database Query OptimizationMay 12, 2025 am 12:02 AM

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.