开发者

Best way to convert files into pdf files using php

What is, according to you, the best way to convert uploaded files of any kind (.doc, .docx,...) into a pdf-file using nothing but php. Is it even possible to do so?

I looked at FPDF, but this creates the pdf files from text.

An other s开发者_如何学JAVAolution previously given was to use the PDFlib library on your server, but unfortunately, my server doesn't support this library...

What is the best way to convert to files my users upload on my site to pdf files?


A simpler approach would be to restrict uploads to .PDF format programmatically and require your users to only upload .pdf files. Provide a link on the upload page to a free and open source pdf printer (e.g. Cuteftp) that the user can install to create .pdf documents from any file that can be printed.

Trying to do it through PHP will be problematic because the uploads could be generated from many different programs that would be impossible to cater for in their entirety. e.g. How would it handle Scribus or ABC Flowcharter or any other 'non-standard' application someone used to create a document?

Much better to filter the upload upfront.


The best server-side PDF generator from those I tried was, so far, wkhtmltopdf, a WebKit-based, self-contained invisible browser that can render any HTML+CSS and generate a PDF from it. Reasonably fast and fairly reliable, has some useful PDF options, such as page size, orientation, etc.

The second part of the job in your case is to convert documents to HTML prior to feeding them to wkhtmltopdf. If possible, have your users upload the docs in HTML (Word and Co. can export (crappy) HTML). If this is not an option, you will have to find a tool just for that, which, in my opinion, is much easier than finding a tool that converts Word docs directly into PDF.

Good thing about wkhtmltopdf is also that you can feed the output of your PHP script to it using the ob_xxx() functions.


PHP Excel best simple way to create doc, docx, xls, xlsx, pdf files with PHP. Its lot easier with clear documentation.


Use Microsoft Office to render Microsoft Office documents, if you care about accuracy at all. This is easily done by invoking Office over COM.

Get access to your server, and install what you need. Doing so would be far easier than monkeying around with sub-par solutions.


Well... I can think of one way of doing it quite easily, but it doesn't involve using PHP.

Upload your documents to a folder on your server, that are browsable by your users.

EG: http://mysite.com/docs/

Then get your users to install a virtual printer driver such as Primo PDF

http://www.primopdf.com/index.aspx

then they can load the document into their browser, and print to PDF for offline browsing.

If this is not an option, and your dealing with office documents that conform to the openXML standard, you could attempt to parse the XML doc into a PHP page for display in the browser, then use JavaScript to trigger a print.

Unfortunately, it does still depend on your user having a PDF printer installed.

Alternatively, you could just load the docs natively, and print to your own PDF printer, then upload the PDF's to the web server for download.

I can't think of any easy way of doing this otherwise, without installing all sorts of different document parser tool-kits and doing a huge amount of behind the scenes work.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜