Встретил очень удобный сервис автогенерации PDF документов из HTML.
Не требует никаких установок на сервер и библиотек (ну кроме обертки над API).
Конечно есть минус — не более 100 документов в месяц (остальное платное).
Сам сервис: https://pdfcrowd.com
Очень простое API для создания документов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<span class="k">require</span> <span class="s1">'pdfcrowd.php'</span><span class="p">;</span> <span class="k">try</span> <span class="p">{</span> <span class="c1">// create an API client instance</span> <span class="nv">$client</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Pdfcrowd</span><span class="p">(</span><span class="s2">"Sassoft"</span><span class="p">,</span> <span class="s2">"ВАШ ТОКЕН"</span><span class="p">);</span> <span class="c1">// convert a web page and store the generated PDF into a $pdf variable</span> <span class="nv">$pdf</span> <span class="o">=</span> <span class="nv">$client</span><span class="o">-></span><span class="na">convertURI</span><span class="p">(</span><span class="s1">'НАШ URL html документа'</span><span class="p">);</span> <span class="c1">// set HTTP response headers</span> <span class="nx">header</span><span class="p">(</span><span class="s2">"Content-Type: application/pdf"</span><span class="p">);</span> <span class="nx">header</span><span class="p">(</span><span class="s2">"Cache-Control: max-age=0"</span><span class="p">);</span> <span class="nx">header</span><span class="p">(</span><span class="s2">"Accept-Ranges: none"</span><span class="p">);</span> <span class="nx">header</span><span class="p">(</span><span class="s2">"Content-Disposition: attachment; filename=</span><span class="se">\"</span><span class="s2">google_com.pdf</span><span class="se">\"</span><span class="s2">"</span><span class="p">);</span> <span class="c1">// send the generated PDF </span> <span class="k">echo</span> <span class="nv">$pdf</span><span class="p">;</span> <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="nx">PdfcrowdException</span> <span class="nv">$why</span><span class="p">)</span> <span class="p">{</span> <span class="k">echo</span> <span class="s2">"Pdfcrowd Error: "</span> <span class="o">.</span> <span class="nv">$why</span><span class="p">;</span> <span class="p">} После этого ПДФ будет сохранён моментально. Также можно просто сохранить на сервер: $pdf_from_html = $client->convertHtml($html, fopen($fileName, 'wb')); </span> |