HTML + सीएसएस को पीडीएफ में परिवर्तित करें [बंद]


1628

मेरे पास एक HTML (एक्सएचटीएमएल नहीं) दस्तावेज़ है जो फ़ायरफ़ॉक्स 3 और आईई 7 में ठीक से प्रस्तुत करता है। इसे स्टाइल करने के लिए काफी बेसिक सीएसएस का उपयोग करता है और एचटीएमएल में ठीक करता है।

अब मैं इसे पीडीएफ में परिवर्तित करने के तरीके के बाद हूँ। मैंने कोशिश की है:

  • DOMPDF : इसमें तालिकाओं के साथ भारी समस्याएं थीं। मैंने अपनी बड़ी नेस्टेड टेबल्स को फैक्टर किया और इससे मदद मिली (इससे पहले यह सिर्फ 128M तक मेमोरी का उपभोग कर रहा था, फिर मर रहा था - php.ini में मेमोरी पर मेरी सीमा को पूरा करता है), लेकिन यह टेबलों की पूरी गड़बड़ी करता है और लगता नहीं है इमेजिस। टेबल कुछ बिंदुओं पर विभिन्न बिंदुओं को जोड़ने के लिए कुछ सीमा शैलियों के साथ सिर्फ मूल सामान थे;
  • HTML2PDF और HTML2PS : मेरे पास वास्तव में इसके साथ बेहतर भाग्य था। इसने कुछ छवियों का प्रतिपादन किया (सभी छवियां Google चार्ट URL हैं) और तालिका स्वरूपण बहुत बेहतर था, लेकिन ऐसा लगता है कि कुछ जटिलता की समस्या मुझे अभी तक समझ नहीं आई है और अज्ञात नोड_टाइप () त्रुटियों के साथ मर रही है। कुछ निश्चित नहीं कि यहाँ से कहाँ जाना है; तथा
  • Htmldoc : यह बेसिक HTML पर ठीक काम करता है, लेकिन CSS के लिए लगभग कोई समर्थन नहीं है, इसलिए आपको HTML में सब कुछ करना होगा (मुझे नहीं पता था कि Htmldoc-land में यह अभी भी 2001 था ...) इसलिए यह मेरे लिए बेकार है।

मैंने Html2Pdf पायलट नामक एक विंडोज़ ऐप की कोशिश की, जो वास्तव में एक बहुत ही अच्छा काम था, लेकिन मुझे कुछ ऐसा चाहिए जो लिनक्स पर न्यूनतम रन पर हो और आदर्श रूप से वेबसर्वर पर PHP के माध्यम से ऑन-डिमांड चलता हो।

मुझे क्या याद आ रहा है, या मैं इस मुद्दे को कैसे हल कर सकता हूं?


9
Html2Pdf वास्तव में पेज रेंडर करने के लिए IE के एक एम्बेडेड उदाहरण का उपयोग करता है, फिर पीडीएफ में कनवर्ट करता है - शायद IE के प्रिंट तंत्र के माध्यम से।
जोएल मुलर

55
चूंकि यह 2008 का सवाल है, इसलिए डोमपीड अब और अधिक परिपक्व है। ;-)
हेंड उज़िया

5
dompdf अब CSS 2.1 का समर्थन करता है और इससे निपटने के लिए @import, @mediaऔर @screenनियम बना सकता है, और बाहरी स्टाइलशीट को लोड करेगा। यह काम करने के लिए आवश्यक सब कुछ के साथ भी बंडल हो जाता है, हालांकि ऐसी चीजें हैं जो आप डिफ़ॉल्ट लिबास की तुलना में बेहतर प्रदर्शन प्राप्त करने के लिए स्थापित कर सकते हैं। code.google.com/p/dompdf
NotLizards

6
2015 अपडेट: हमने बहुत सारे विकल्पों पर शोध करने के बाद यह तय किया कि wkhtmltopdf इसकी एक अच्छी उपयोगिता है जिसे हम CSS के साथ संघर्ष करते हैं क्योंकि हमारे पास बाहरी CSS फ़ाइल है लेकिन फिर हमने अपने HTML एलिमेंट पर CSS की एक डमी लिंक डालने की ट्रिक लागू की जिसे हम चाहते हैं कन्वर्ट और सही रास्ता यह जादू की तरह काम करता है की स्थापना !!!
अंशुल निगम

10
मेरा मानना ​​है कि जल्द ही हर कोई क्रोम / क्रोमियम chrome --headless --print-to-pdf="path/to/pdf" https://your_url को सबसे अमीर, सबसे तेज और सबसे आसान html से पीडीएफ़ जेनरेशन टूल crbug.com/603559 के रूप में पाता है क्योंकि यह HTML विशेषताओं में से अधिकांश का समर्थन करता है डेवलपर्स वेब विकास पर भरोसा करते हैं और अन्य की तरह जटिल स्क्रिप्ट को नहीं चूसते हैं। पुस्तकालय और उपकरण करते हैं।
अब्राहिम बेगॉवी

जवाबों:


551

महत्वपूर्ण: कृपया ध्यान दें कि यह उत्तर 2009 में लिखा गया था और यह 2019 में आज सबसे अधिक लागत प्रभावी समाधान नहीं हो सकता है। ऑनलाइन विकल्प आज की तुलना में बेहतर हैं क्योंकि वे तब वापस आ गए थे।

यहां कुछ ऑनलाइन सेवाएं हैं जिनका आप उपयोग कर सकते हैं:


प्रिंसएक्सएमएल पर एक नजर डालें

यह निश्चित रूप से सबसे अच्छा HTML / CSS से पीडीएफ कनवर्टर है, हालांकि यह मुफ़्त नहीं है (लेकिन हे, आपकी प्रोग्रामिंग या तो मुफ्त नहीं हो सकती है, इसलिए यदि यह आपको 10 घंटे का काम बचाता है, तो आप घर से मुक्त हैं (क्योंकि आपको भी ज़रूरत है) ध्यान रखें कि वैकल्पिक समाधानों के लिए आपको एक समर्पित सर्वर को सही सॉफ्टवेयर के साथ सेटअप करना होगा)

अरे हाँ, क्या मैंने उल्लेख किया है कि यह पहला (और शायद केवल) HTML2PDF समाधान है जो पूर्ण ACID2 करता है ?

प्रिंसएक्सएमएल नमूने


16
मेरी कंपनी ने राजकुमार के आसपास निर्मित एक वेब सेवा लिखी थी। महत्वपूर्ण रूप से सस्ता अग्रिम लागत, और कुछ भी स्थापित करने की आवश्यकता के बिना उपयोग करने योग्य: docraptor.com
जोएल मीडोर

6
मैंने DocRaptor का भी उपयोग किया है। महंगे लाइसेंस के लिए भुगतान के बिना राजकुमार के लाभों को प्राप्त करने का भयानक तरीका। एक महान उत्पाद, जोएल को बधाई।
Nate365

22
रास्ता बहुत महंगा है। WKHTMLTOPDF (अन्य उत्तर देखें) मुफ़्त है, काम करता है और वेबकिट का उपयोग करता है जो कि बहुत बढ़िया है।
थॉमसन

1
कीमत के एक अंश के लिए समान या बेहतर गुणवत्ता की सास सेवा हैं
htm2pdf.co.uk

5
यदि आपके पास कमांडलाइन एक्सेस है और DON'T $ 3500 का भुगतान करना चाहते हैं, तो इस स्क्रिप्ट के साथ PhantomJS: github.com/ariya/phantomjs/blob/master/examples/rasterize.js एक समाधान हो सकता है - यह मुफ़्त और आसान तरीका है!
च्जोर्ट्लंड

666

एक नजर है wkhtmltopdf। यह ओपन सोर्स है, जो वेबकिट और फ्री पर आधारित है।

हमने यहां एक छोटा ट्यूटोरियल लिखा है

EDIT (2017):

अगर आज कुछ बनाना होता, तो मैं अब उस रास्ते पर नहीं जाता।
लेकिन इसके बजाय http://pdfkit.org/ का उपयोग करेगा ।
संभवतः ब्राउज़र में चलाने के लिए, इसकी सभी नोडज निर्भरता को अलग करना।


10
यह सबसे अच्छा आधार IMO पर संचालित होता है। खरोंच से एक लिखने के बजाय मौजूदा रेंडरर से रूपांतरण को रोकें - एक तुच्छ कार्य नहीं। इसके अलावा, वेबकिट C ++ में लिखा गया है और इसलिए PHP आधारित कार्यान्वयन की तुलना में बहुत तेज़ और संसाधन हॉग से बहुत कम है।
कोबोज

3
हमारे पास फोंट को ठीक से CentOS सर्वर को प्रस्तुत करने के लिए इसे प्राप्त करने के लिए बहुत बड़ी समस्याएं हैं। लगभग हफ्ते भर गड़बड़ करने के बाद, ऐसा लगता है कि एकमात्र विकल्प सेंटोस का उपयोग नहीं करना है।
अभि बेकर्ट सेप

1
चेतावनी! यदि आप wkhtmltopdf (मेरे सिस्टम पर कम से कम, विंडोज 7 64-बिट पर XAMPP) का उपयोग करते हैं, तो सभी मामलों में मैंने कोशिश की, .gif छवियां पीडीएफ फाइल में प्रदर्शित होने में विफल रहती हैं। मैंने विभिन्न स्थानों में सुझाए गए कई वर्कअराउंड्स की कोशिश की, जैसे "चौड़ाई" और "ऊंचाई", और यूआरआई के विभिन्न सम्मेलनों के अनुसार लिखना। कुछ भी नहीं मैंने कभी भी .gif के प्रकट होने का प्रयास नहीं किया (विशेष रूप से, यहां तक ​​कि "चौड़ाई" और "ऊंचाई" सुझाव भी नहीं, जिसे मैंने इनलाइन शैलियों का उपयोग करने और पुरातन, कच्ची "चौड़ाई" और "ऊंचाई" HTML विशेषताओं) का उपयोग करने की कोशिश की। हालाँकि, .jpg के लिए छवियों की अदला-बदली पहले प्रयास में की गई थी।
दान निसेनबौम

6
यह अमूर्त बहुत अच्छा है, हालांकि mikehaertl.github.io/phpwkhtmltopdf
saada

1
वाणिज्यिक सेवाएं हमारे लिए बहुत महंगी थीं इसलिए हमने WKHTMLTOPDF को किसी के लिए भी उपयोग करने के लिए एक मुफ्त क्लाउड सेवा html2pdfrocket.com के रूप में लागू किया, और फिर इसे अपने ग्राहकों के लिए स्वयं उपयोग किया। हमने इसे इस तरह से किया ताकि हमारे ग्राहकों को अपने सर्वर आदि पर एक्सई स्थापित करने और क्रॉस प्लेटफॉर्म पर काम न करना पड़े। यदि आप अपनी स्वयं की सेवा का निर्माण कर रहे हैं तो मैं निश्चित रूप से WKHTMLTOPDF का मूल्यांकन करूंगा।
ईगल .779

150

कुछ जांच और सामान्य बाल खींचने के बाद समाधान HTML2PDF लगता है । DOMPDF ने तालिकाओं, सीमाओं और यहां तक ​​कि जटिल जटिल लेआउट के साथ एक भयानक काम किया और htmldoc काफी मजबूत लगता है, लेकिन लगभग पूरी तरह से सीएसएस-अज्ञानी है और मैं उस कार्यक्रम के लिए बिना CSS के HTML लेआउट करने के लिए वापस नहीं जाना चाहता।

HTML2PDF सबसे अधिक आशाजनक लग रहा था, लेकिन मैं इस अजीब त्रुटि को null_type के संदर्भ संदर्भ तर्क के बारे में बताता रहा। मुझे आखिरकार इसका हल मिल गया। मूल रूप से, PHP 5.1.x ने किसी भी आकार के तारों पर रेगेक्स की जगह (preg_replace_ *) के साथ ठीक काम किया। PHP 5.2.1 ने एक php.ini config निर्देश पेश किया है जिसे pcre.backtrack_limit कहा जाता है । यह कॉन्फ़िगरेशन पैरामीटर क्या करता है जिसके लिए स्ट्रिंग की लंबाई सीमित होती है जिसके लिए मिलान किया जाता है। यह क्यों पेश किया गया, मुझे नहीं पता। डिफ़ॉल्ट मान 100,000 के रूप में चुना गया था। इतना कम मूल्य क्यों? फिर, कोई विचार नहीं।

इसके लिए PHP 5.2.1 के खिलाफ एक बग उठाया गया था , जो अभी भी लगभग दो साल बाद खुला है ।

इसके बारे में क्या भयावह है कि जब सीमा पार हो जाती है, तो प्रतिस्थापित चुपचाप विफल हो जाता है । कम से कम यदि कोई त्रुटि उठाई गई थी और लॉग की गई थी तो आपको कुछ संकेत होगा कि क्या हुआ, क्यों और इसे ठीक करने के लिए क्या बदलना है। लेकिन नहीं।

तो मेरे पास पीडीएफ में बदलने के लिए 70k HTML फाइल है। इसके लिए निम्न php.ini सेटिंग्स की आवश्यकता है:

  • pcre.backtrack_limit = 2000000; # शायद मुझे जरूरत से ज्यादा है लेकिन यह ठीक है
  • memory_limit = 1024M; # हाँ, एक गीगाबाइट ; तथा
  • max_execution_time = 600; # हां, 10 मिनट

अब अचरज पाठक ने देखा होगा कि मेरी HTML फ़ाइल 100k से छोटी है। केवल यही कारण है कि मैं अनुमान लगा सकता हूं कि मैंने इस समस्या को क्यों मारा है कि html2pdf प्रक्रिया के भाग के रूप में एक्सएचटीएमएल में रूपांतरण करता है। शायद इसने मुझे अपने ऊपर ले लिया (हालाँकि लगभग 50% ब्लोट अजीब लगता है)। जो भी हो, ऊपर ने काम किया।

अब, html2pdf एक संसाधन हॉग है। मेरी 70k फ़ाइल में लगभग 5 मिनट लगते हैं और 35 पेज की पीडीएफ फाइल बनाने के लिए कम से कम 500-600M RAM का उपयोग करना पड़ता है। एक वास्तविक समय के लिए पर्याप्त (अभी तक) त्वरित रूप से डाउनलोड नहीं किया गया है और मेमोरी उपयोग 1000-से -1 (70k फ़ाइल के लिए 600M RAM) के क्रम में मेमोरी उपयोग अनुपात डालता है, जो पूरी तरह से हास्यास्पद है।

दुर्भाग्य से, यह सबसे अच्छा मैं के साथ आया हूँ।


1
@ क्लेटस क्या आप मुझे HTML2PDF के स्थिर संस्करण के बारे में बता सकते हैं। उपरोक्त लिंक उदाहरण में चित्रित किया गया है
रिपा साह

नवीनतम संस्करण के लिए github.com/spipu/html2pdf
ल्यूक वेन्के

1
ग्रिम टाइपो अधिक गंभीर हो जाता है: मेमोरी उपयोग अनुपात 10,000-से -1
लोल

MPDF जितना ही बुरा काम करता है ... तेज, लेकिन सटीक नहीं ... और TTF फोंट को कनवर्ट करना अविश्वसनीय रूप से दर्दनाक है ... यहां तक ​​कि उनके पास स्वतंत्र लाइब्रेरी "tc-lib-pdf-font" भी है जो केवल फोंट पैदा करने के लिए है
मार्टिन ज़्वारीक

125

आप mPDF संस्करण 2.0 की कोशिश क्यों नहीं करते ? मैंने इसका उपयोग पीडीएफ को एक दस्तावेज बनाने के लिए किया। यह बढ़िया काम करता है।

इस बीच mPDF 5.7 संस्करण पर है और यह HTML2PS / HTML2PDF के विपरीत सक्रिय रूप से बनाए रखा गया है

लेकिन ध्यान रखें, कि प्रलेखन को संभालना वास्तव में कठिन हो सकता है। : उदाहरण के लिए, इस पृष्ठ पर एक नज़र डालें https://mpdf.github.io/

Html से pdf के आस-पास बहुत ही बुनियादी कार्य इस लाइब्रेरी के साथ किए जा सकते हैं, लेकिन अधिक जटिल कार्यों को प्रलेखन को पढ़ने और समझने में कुछ समय लगेगा।


1
मैंने यहां सुझाए गए लोगों का एक गुच्छा तैयार किया। अब तक, यह एक अपलोड किया गया था और बिना किसी परेशानी के बॉक्स से बाहर काम किया और डॉक्स बाकी की तुलना में वास्तव में आश्चर्यजनक हैं। उपयोग के लिए निर्देश स्पष्ट रूप से लिखे गए हैं।
स्मिथ स्मिथ

mPDF मुझे कुछ गंभीर परेशानियाँ दे रहा है जब पोस्टिंग HTML टैग्स में इमेज बैकग्राउंड या डेटाबेस से टैग्स:mPDF error: IMAGE Error (http://www.example.com/folder/image.jpg): Error parsing image file - image type not recognised, and not supported by GD imagecreate
Stefan

संस्करण 6.0 केवल अपेक्षा के अनुसार काम करता है: इसे शामिल करें (या एक रूपरेखा में, इसे लोड करें) तत्काल, अपने सामान के साथ भरें, इसे एक तरह से या किसी अन्य तरीके से आउटपुट करें ... बस!
toesslab

अच्छी तरह से MPDF अच्छी तरह से काम कर रहा है, सच है! लेकिन कोड और प्रलेखन असंगत हैं - यह एक और अधिक जटिल कार्य को पूरा करने के लिए बहुत कठिन है जैसे कि दीन-आदर्श के संबंध में एक पत्र बनाना।
कुल्लुरीने

दावा है कि यह html2fpdf से काफी धीमा है। लेकिन मूल सामग्री के लिए, मुझे लगा कि यह बहुत तेज़ था (चालान, रिपोर्ट, आदि)। MPDF के लिए विशाल प्लस वहाँ शायद ही किसी PHP विस्तार आवश्यकताओं (साझा होस्टिंग पर बॉक्स से बाहर काम करता है)
जोआओ

70

1) MPDF का उपयोग करें !

ए) में निकालें yourfolder

ख) बनाने file.php में yourfolderऔर इस तरह के कोड डालने:

<?php
include('../mpdf.php');
$mpdf=new mPDF();
$mpdf->WriteHTML('<p style="color:red;">Hallo World<br/>Fisrt sentencee</p>');
$mpdf->Output();   exit;
 ?>

ग) अपने ब्राउज़र से फ़ाइल खोलें




2) pdfToHtml का उपयोग करें !

1) अपने रूट फ़ोल्डर में pdftohtml.exe निकालें :

2) उस फ़ोल्डर के अंदर, anyfile.php फ़ाइल में, इस कोड को डालें (मान लें, एक स्रोत उदाहरण है । पीपी भी:

<?php
$source="example.pdf";
$output_fold="FinalFolder";

    if (!file_exists($output_fold)) { mkdir($output_fold, 0777, true);}
$result= passthru("pdftohtml $source $output_fold/new_filename",$log);
//var_dump($result); var_dump($log);
?>

3) फ़ाइनलफ़ोल्डर में प्रवेश करें , और परिवर्तित फाइलें होंगी (जितने पृष्ठ, उतने स्रोत पीडीएफ के पास थे ..)


मैं GrabzIt कोशिश करूँगा उनके एपीआई सीएसएस, जावास्क्रिप्ट और सबसे अन्य संसाधन प्रकारों का समर्थन करता है। इसे केवल निरपेक्ष URL के साथ संदर्भित किया जाना चाहिए, या इनलाइन बनाया गया और HTML में शामिल किया गया जिसे सेवा में भेजा गया है। इसे यहाँ आज़माएँ: Grabz.it/html-to-pdf-image-api.aspx

GrabzIt मुक्त नहीं है
चैटॉक्स

56

चेकआउट TCPDF । इसमें कुछ HTML से पीडीएफ कार्यक्षमता है जो आपके लिए पर्याप्त हो सकती है। यह भी मुफ़्त है!


1
यह के समर्थन के लिए प्रतिपादन एचटीएमएल बल्कि सीमित है, तो आप इस पढ़ने के लिए चाहते हो सकता है है: tcpdf.org/doc/classTCPDF.html#ac3fdf25fcd36f1dce04f92187c621407
हेंड्रा Uzia

1
लेकिन सीएसएस शैली काम नहीं कर रही है
केबीके

32

बस धागे को टक्कर देने के लिए, मैंने DOMPDF की कोशिश की है और यह पूरी तरह से काम करता है। मैंने उपयोग किया है DIVऔर अन्य ब्लॉक स्तर के तत्वों को सब कुछ करने के लिए, मैंने इसे सख्ती से सीएसएस 2.1 रखा और यह बहुत अच्छी तरह से खेला।


31

मेरा सुझाव है कि DocRaptor (जो PrinceXML"इंजन" के रूप में उपयोग होता है )


दुर्भाग्य से उपयोग करने के लिए असंभव है अगर आप बहुत सारी छवियों के साथ बड़ी पीडीएफ-फाइलें उत्पन्न करना चाहते हैं। मुझे लगता है कि अनुरोधों पर एक 60 सेकंड की समयसीमा है और अगर डोक्राप्टोर को बहुत सारी फ़ाइलों को डाउनलोड करने की आवश्यकता है, तो यह अधिक हो जाएगी, और कोई फ़ाइल नहीं बनाई जाएगी।
विल्हेम

1
इस मुद्दे का उल्लेख विल्हेम ने किया है।
इल्बज़ो 1

30

यह पहले से ही उल्लेख किया गया है, लेकिन मैं सिर्फ यह पुष्टि करना चाहूंगा कि एमपीएफडी सबसे आसान, सबसे शक्तिशाली और सबसे मुफ्त HTML से पीडीएफ कनवर्टर है। आकाश वास्तव में सीमा है। आप डायनेमिक, उपयोगकर्ता-जनरेट किए गए डेटा की भी पीडीएफ जेनरेट कर सकते हैं।

उदाहरण के लिए, एक ग्राहक एक सीएमएस प्रणाली चाहता था ताकि वह अपने क्लब में खेले जाने वाले संगीत के ट्रैकलिस्ट को अपडेट कर सके। यह कोई समस्या नहीं थी, लेकिन वह यह भी चाहता था कि उपयोगकर्ता प्लेलिस्ट के एक .pdf को डाउनलोड करने में सक्षम हों, और इसलिए इस डाउनलोड करने योग्य पीडीएफ को सेमी द्वारा भी अपडेट किया जाना था। कुछ सरल छोरों और इंटरसेप्टर किए गए चरों के साथ mpdf के लिए धन्यवाद, मैं बस यही कर सकता था। कुछ ऐसा जो मैंने सोचा था कि मुझे वास्तव में मिनट लगेंगे।

महान लेख जिसने मुझे आरंभ करने में मदद की।


7
एक प्लेलिस्ट का एक पीडीएफ। भगवन मदत करो।
हेनरिक एर्लैंडसन

29

खुशखबरी! तड़क भड़क !!

Snappy एक बहुत ही आसान ओपन सोर्स PHP5 लाइब्रेरी है, जिसमें एक यूआरएल या एक html पेज से थंबनेल, स्नैपशॉट या पीडीएफ पीढ़ी की अनुमति है। और ... यह उत्कृष्ट webkit- आधारित wkhtmltopdf का उपयोग करता है

का आनंद लें! ^ _ ^


1
मैंने एक HTTP API बनाया जो Snappy (wkhtmltopdf पर आधारित) का उपयोग करता है। आप एक URL में पास कर सकते हैं और HTML से पीडीएफ में वेबपेज को रूपांतरित कर सकते हैं: github.com/Dellos7/dhtml2pdf
डेविड

26

वैसे अगर आप PDF कन्वर्टर लाइब्रेरी के लिए एक सही XHTML + CSS ढूंढना चाहते हैं, तो इसे भूल जाइए। यह संभव से बहुत दूर है। क्योंकि यह बिल्कुल सही ब्राउज़र (XHTML + CSS रेंडरिंग इंजन) खोजने जैसा है। क्या हमारे पास एक है? IE या एफएफ?

मुझे DOMPDF के साथ कुछ सफलता मिली है। बात यह है कि आपको लाइब्रेरी के काम करने के तरीके के साथ जाने के लिए अपने HTML + CSS कोड को संशोधित करना होगा। इसके अलावा, मेरे पास बहुत अच्छे परिणाम हैं।

निचे देखो:

मूल HTML

पीडीएफ में HTML परिवर्तित करना


25

Html2pdf और HTML2PS कि मूल रूप से उद्घाटन पोस्ट में उल्लेख किया गया था एक 2009 पैकेज के बारे में इस के साथ बात कर रहा था लिंक

लेकिन एक बेहतर HTML2PDF है

यह टीसीपीडीएफ पर आधारित है, हालांकि यह आंशिक रूप से फ्रेंच में है।

आपके पास टेबल हेडर या फुटर हो सकते हैं जो पृष्ठों पर दोहराते हैं और पृष्ठ संख्या और कुल पृष्ठ होते हैं। इसके उदाहरण देखें । मैं तीन साल से इसका इस्तेमाल कर रहा हूं और इसकी सलाह देता हूं।


1
यह शीर्ष पर क्यों नहीं है? यह किसी भी अतिरिक्त निर्भरता के बिना काम करता है, और $ 3800 खर्च किए बिना अधिकांश लोगों के अनुप्रयोगों के लिए पर्याप्त है !
पतित

22

मैं PHP का उपयोग करके पीडीएफ फाइलों का उत्पादन करने के लिए fpdf का उपयोग कर रहा हूं । यह मेरे लिए अब तक अच्छा काम कर रहा है सरल आउटपुट उत्पन्न करने के लिए।


21

किसी बाहरी पुस्तकालयों के बिना php ( भाग 1 , भाग 2 ) से पीडीएफ जेनरेट करने पर ज़ेंड के डेवज़ोन पर एक ट्यूटोरियल है। मैंने इस तरह के समाधान को कभी लागू नहीं किया, लेकिन चूंकि यह सभी php है, आप इसे लागू करने और डिबग करने के लिए अधिक लचीला पा सकते हैं।



हाँ, लेकिन यह HTML परिवर्तित नहीं करता है ... यह कच्ची पीडीएफ पीढ़ी है
मार्टिन Zvarík

16

नवीनतम नाइटली बिल्ड बिल्ड को हथियाने की कोशिश करें - मैं एक पुराने संस्करण का उपयोग कर रहा था जो एक भयानक संसाधन हॉग था और अपने पीडीएफ को रेंडर करने के लिए हमेशा के लिए ले लिया। यहां से एक रात गुजारने के बाद ।

पीडीएफ को जेनरेट करने में केवल कुछ सेकंड का समय लगा - और यह सिर्फ उतना ही अच्छा था जितना कि प्रिंसएक्सएमएल / डॉक्रेप्टर के साथ दिया गया है । लगता है जैसे मैंने पिछली बार इसे इस्तेमाल करने के बाद से डोमपीड कोड को गंभीरता से लिया है!


डोमपेड वाकई एक बेहतरीन विकल्प है। मैंने दो बार इस्तेमाल किया है और यह बहुत आसान है। मैं dompdf को आजमाने की सलाह दूंगा। यहाँ आधिकारिक github रेपो के लिए लिंक है: github.com/dompdf/dompdf
रितुपर्णा सोनोवाल

16

के ऊपर डैरिल हेन का उल्लेख TCPDF संभावना एक बहुत अच्छा विचार है। निकोला असुनी का कोड बहुत आसान और शक्तिशाली है। एकमात्र हत्यारा अगर आप कभी भी अपनी उत्पन्न पीडीएफ के साथ पीडीएफ फाइलों को विलय करने की योजना बनाते हैं, तो इसमें वे विशेषताएं नहीं हैं। आपको पीडीएफ बनाना होगा और फिर सिड स्टीवर्ड (www.pdflabs.com/tools/pdftk-the-pdf-toolkit/) द्वारा PDFTK जैसी किसी चीज़ का उपयोग करके इसे मर्ज करना होगा।


13

लागत के संदर्भ में, वेब-सेवा (एपीआई) का उपयोग करना कई मामलों में अधिक समझदार दृष्टिकोण हो सकता है। इसके अलावा, इस प्रक्रिया को आउटसोर्स करके आप अपने खुद के बुनियादी ढांचे / बैकएंड को अनबर्ड करते हैं और बशर्ते आप एक प्रतिष्ठित सेवा का उपयोग कर रहे हैं - वेब मानकों, अपटाइम, लघु प्रसंस्करण समय और त्वरित सामग्री वितरण को समायोजित करने के साथ संगतता सुनिश्चित करें।

मैंने वर्तमान में बाजार पर मौजूद अधिकांश वेब सेवाओं पर कुछ शोध किया है, कृपया मूल्य / मूल्य अनुपात के आधार पर मुझे लगता है कि एपीआई के नीचे इस सूत्र पर ध्यान देने योग्य है। ये सभी पहले से तैयार पीएचपी कक्षाओं और पैकेजों की पेशकश कर रहे हैं।

  1. pdflayer.com - लागत: $ - गुणवत्ता: ☆ ☆ ☆ ☆
  2. docraptor.com - लागत: $ $ $ - गुणवत्ता: ☆ ☆ ☆ ☆ ☆
  3. pdfcrowd.com - लागत: $ $ - गुणवत्ता: ☆ ☆ ☆

गुणवत्ता:

PrinceXMLबैकबोन के रूप में उच्च-गुणवत्ता वाला इंजन होने के कारण , DocRaptor स्पष्ट रूप से सर्वश्रेष्ठ पीडीएफ गुणवत्ता प्रदान करता है, उच्च पॉलिश और अच्छी तरह से पीडीएफ दस्तावेज़ों को वापस लौटाता है। हालाँकि, pdflayer API सेवा यहाँ बहुत करीब है। Pdfcrowd जरूरी गुणवत्ता के साथ स्कोर नहीं करता है, लेकिन प्रसंस्करण गति के साथ।

लागत:

pdflayer.com - जैसा कि ऊपर बताया गया है, यहां सबसे अधिक लागत प्रभावी विकल्प pdflayer.com है, जो $ 9.99- $ 119.99 के बीच 100 मासिक पीडीएफ और प्रीमियम सदस्यता के लिए पूरी तरह से मुफ्त सदस्यता योजना की पेशकश करता है। 10,000 मासिक पीडीएफ दस्तावेजों की कीमत $ 39.99 है।

docraptor.com - 7-दिवसीय नि: शुल्क परीक्षण अवधि की पेशकश। प्रीमियम सदस्यता योजना $ 15- $ 2250 तक होती है। 10,000 मासिक पीडीएफ दस्तावेजों की कीमत ~ $ 300.00 है।

pdfcrowd.com - मुफ्त में एक बार 100 PDF की पेशकश । प्रीमियम सदस्यता योजना $ 9- $ 89 तक होती है। 10,000 मासिक पीडीएफ दस्तावेजों की कीमत ~ $ 49.00 है।

मैंने उन तीनों का उपयोग किया है और यह पाठ उन सभी के लिए भुगतान किए बिना किसी को भी तय करने में मदद करने वाला है। यह पाठ किसी एक उत्पाद का समर्थन करने के लिए नहीं लिखा गया है और मेरा किसी भी उत्पाद से कोई संबंध नहीं है।


शेरिंग के लिए धन्यवाद। मैं पूरे दिन सभी विकल्पों की छानबीन कर रहा था और उन्होंने फ्री लिबास पर अधिक ध्यान केंद्रित किया था। आपका जवाब मुझे फिर से थनिक करने में मदद करता है। मैं छोटे व्यवसाय के लिए थिंक करता हूं यह वेब सेवाओं के साथ लागत प्रभावी तरीका और सबसे आसान तरीका है। Pdflayer.com के लिए; कम $ 100 से / वर्ष यह 20 या 30 साल भी तोड़ने के लिए ले जाता है, फिर भी मैं न thnik हम 20 साल बाद :) एक ही दुनिया में छोड़ देंगे
स्वेच्छाबलि

12

यदि आपके पास कमांड लाइन तक पहुंच है, तो एक (दूरस्थ या स्थानीय) से बनाने के लिए PhantomJS का उपयोग करना संभव है ।PDFURL

यह वास्तव में अच्छी तरह से काम करता है, और एक मुफ्त समाधान है।

इस सटीक समस्या के लिए बनी इस उदाहरण लिपि पर एक नज़र डालें ।


लेकिन आपको फोंट (
वेबफोन्स

11

यह प्रश्न पहले से ही पुराना है, लेकिन किसी ने भी CutyCapt का उल्लेख नहीं देखा है इसलिए मैं करूंगा :)

CutyCapt

CutyCapt एक छोटा क्रॉस-प्लेटफ़ॉर्म कमांड-लाइन यूटिलिटी है, जिसमें WebKit के वेब पेज को विभिन्न प्रकार के वेक्टर और बिटमैप स्वरूपों में कैप्चर करने के लिए SVG, PDF, PS, PNG, JPEG, TIFF, GIF और PMP शामिल हैं।


11

मैं उस क्रम में TCPDF या DOMPDF की सलाह देता हूं।


9

मुझे नहीं लगता कि सीएसएस के साथ एक xHtml पेज रेंडर करने के लिए एक php क्लास सबसे अच्छा होगा।

जब एक नया सीएसएस नियम सामने आता है तो क्या होता है? (जल्द ही सीएसएस 3.0 ...)

HTML पेज रेंडर करने का सबसे अच्छा तरीका है, एक ब्राउज़र, obvisiuly। फ़ायरफ़ॉक्स 3.0 मूल रूप से पीडीएफ प्रारूप में 'प्रिंट' कर सकता है, इसका उपयोग करने के लिए टोरिसुगरी ने एक एक्सटेंशन (कमांड लाइन प्रिंट) विकसित किया है। यहाँ आप इसे पा लेंगे।

वैसे भी, अभी भी कई problmes फ़ायरफ़ॉक्स runninr हैं सिर्फ एक PDF कनवर्टर के रूप में ...

फिलहाल, मुझे लगता है कि wkhtmltopdf सबसे अच्छा है (यह सफारी ब्राउज़र द्वारा उपयोग किया जाने वाला) है, तेज, त्वरित, भयानक। हां, ओपनसोर्स भी ... इसे एक रूप दें


यदि आप किसी उपयोगकर्ता के लिए रसीद जैसे किसी प्रकार के आधिकारिक दस्तावेज का उत्पादन करना चाहते हैं तो PHP उपयोगी है और इसे अच्छा दिखाने के लिए आप CSS का उपयोग कर सकते हैं।
ल्यूक वेन्के

9

मैंने वेब पृष्ठों से पीडीएफ फाइलों के निर्माण के लिए एक सार्वजनिक एपीआई विकसित किया। यह एक अच्छा PHP ग्राहक वर्ग है जो इसे उपयोग करने के लिए सुपर आसान बनाता है। यह क्लाउड में पीडीएफ रेंडर करने के लिए wkhtmltopdf का उपयोग करता है।

HTML में कुछ विशेष की आवश्यकता नहीं है। छवियों / सीएसएस / जेएस लिंक में निरपेक्ष यूआरएल की आवश्यकता नहीं है। लोकलहोस्ट (देव मशीन) पर भी काम करता है।

वर्तमान में इस सेवा के 4 एज़्योर क्षेत्रों में समापन बिंदु हैं: यूएस ईस्ट, यूएस वेस्ट, ईयू उत्तर, दक्षिण पूर्व एशिया।

यह तेज़ है क्योंकि यह पीडीएफ में रूपांतरण के लिए वेब पेज की सामग्री को एपीआई में भेजने के लिए एक मालिकाना प्रोटोकॉल का उपयोग करता है।

यह विश्वसनीय है क्योंकि सभी समापन बिंदु संतुलित हैं।

परीक्षण या कम उपयोग के लिए नि: शुल्क खाता उपलब्ध है। वेब साइट पर विवरण:

https://rotativahq.com


8

शायद आप फ़ाइल को कनवर्टर को सौंपने से पहले टाइड का उपयोग कर सकते हैं। यदि कोई रेंडरर किसी HTML समस्या पर (जैसे बिना टैग किए) चोक करता है, तो यह उसकी मदद कर सकता है।


हां एक वैध बिंदु है लेकिन मैंने पहले से ही इसके बारे में सोचा है। मेरे HTML में कोई बेजोड़ और न ही गैर-मानक टैग नहीं हैं।
cletus

7

ठीक प्रतिपादन कुछ भी मतलब नहीं है। क्या यह मान्य है?

सभी ब्राउज़र सबसे अधिक करते हैं वे केवल स्क्रीन पर कुछ दिखा सकते हैं, चाहे कितना भी बुरा इनपुट हो। और निश्चित ही वे ऐसा ही नहीं करते। यदि आप फायरफॉक्स के समान रेंडरिंग चाहते हैं, तो आप इसके रेंडरिंग इंजन का उपयोग कर सकते हैं। इसके लिए pdf जनरेटर हैं। यह एक बहुत बड़ा काम है, हालांकि।


7

यद्यपि पहले से ही कई समाधान पेश किए गए हैं, मैं निम्नलिखित दो की सलाह देता हूं:

  1. HTM2PDF - HTML को PDF में बदलने के लिए एक एपीआई प्रदान करता है और इसमें एक PHP SDK भी है, जो PHP में कार्यान्वित करना बहुत आसान बनाता है; यह यूरोप, एशिया और संयुक्त राज्य अमेरिका में सर्वर स्थानों का विकल्प प्रदान करता है
  2. PDFmyURL - एक ऐसा एपीआई प्रदान करता है जो URL और HTML को PDF के रूप में अच्छी तरह से HTM2PDF के समान कार्यक्षमता के साथ प्रदान करता है, लेकिन एक संतुलित संतुलित परिदृश्य पर काम करता है और थोड़ी देर तक चलता है

वह बात जो पहले वर्णित सभी समाधानों से इन दो एपीआई के बारे में अलग है, वह यह है कि - सीएसएस और जावास्क्रिप्ट के साथ HTML को पीडीएफ में परिवर्तित करने के अलावा - यह पीडीएफ अधिकार प्रबंधन, वॉटरमार्किंग और एन्क्रिप्शन भी प्रदान करता है। इसलिए यह उन लोगों के लिए एक सब-में-एक समाधान है जो दौड़ते हुए मैदान मारना चाहते हैं।

अस्वीकरण: मैं Kaiomi के लिए काम करता हूं, जो इन दोनों वेबसाइटों को संचालित करने वाली कंपनी है।


जब यह बिक्री के लिए हो तो मैं किसी सेवा पर भरोसा नहीं करना चाहता । इस तथ्य को देखते हुए कि यह उस नीलामी में अनसोल्ड था, मैं केवल यह मान सकता हूं कि निकट भविष्य में इसे बेचा जाएगा?
रॉबिन वैन बालन

वास्तव में मेरी कंपनी ने नीलामी के कुछ समय बाद इसका अधिग्रहण कर लिया ...
user1914292

उस मामले में, मुझे लगता है कि चिंता की कोई बात नहीं है।
रॉबिन वैन बालन

5

क्या HTML से PDF रूपांतरण वास्तव में PHP का उपयोग करके सर्वर-साइड होने की आवश्यकता है?

मैं अभी HTML5 / जावास्क्रिप्ट का उपयोग करके क्लाइंट-साइड समाधान jsPDF में आया हूं । GITHub पर MIT- लाइसेंस कोड भी है।


मेरे लिए, पुस्तकालय बहुत सीमित है
YXN

5

TCPDF ठीक काम करता है, कोई निर्भरता नहीं है, स्वतंत्र है और लगातार बगफिक्स है। यदि HTML / CSS सामग्री अच्छी तरह से तैयार की जाती है तो इसकी उचित गति होती है। मैं सामान्य रूप से HTML इनपुट (CSS सहित) के ५० - ३०० kB से उत्पन्न करता हूं और १०-१५ पीडीएफ पन्नों के साथ १-३ सेकंड के भीतर पीडीएफ आउटपुट प्राप्त करता हूं।

मैं टीसीपीडीएफ के लिए कुछ भी भेजने से पहले एचटीएमएल सुंदर फॉर्मेटर के रूप में स्पष्ट पुस्तकालय का उपयोग करने की दृढ़ता से सलाह देता हूं ।


4

मैंने PHP के लिए विभिन्न पुस्तकालयों की बहुत कोशिश की है। सभी सूचीबद्ध मैंने कोशिश की है। मेरी राय में टीसीपीडीएफ पुस्तकालय सबसे अच्छा समझौता प्रदर्शन / प्रयोज्य है। यह बहुत ही सरल रूप से स्थापित और उपयोग किया जाता है, छोटे मध्यम अनुप्रयोग में भी अच्छा प्रदर्शन। यदि आपको उच्च प्रदर्शन और बहुत बड़े पीडीएफ दस्तावेज़ की आवश्यकता है, तो Zend_PDF मॉड्यूल का उपयोग करें , लेकिन कठिन कोडिंग के लिए तैयार रहें!


Zend PDF HTML से नहीं बदल सकते
मार्टिन Zvarík

3

वेब एपीआई

यदि ऐसे लोग हैं जो हमेशा इस तरह के सामान की खोज करते हैं, तो एक मुफ्त वेबसाइट है जो आपको HTML कोड और पेज को पीडीएफ में बदलने की अनुमति देती है। एक (बहुत छोटी) एपीआई भी है जो आपको यूआरएल से पीडीएफ़ फ़ाइल प्राप्त करने की अनुमति देती है।

इसे यहां देखें


2

PHP नहीं , बल्कि जावा लाइब्रेरी , जो बात करता है:

फ्लाइंग सॉसर एक्सएमएल या एक्सएचटीएमएल लेता है और पीडीएफ को रेंडर करने के लिए, इसमें सीएसएस 2.1-अनुपालन स्टाइलशीट लागू करता है

यह PHP के माध्यम से system()या इसी तरह के कॉल से उपयोग करने योग्य है । हालाँकि इसके लिए XML अच्छी तरह से बनने की आवश्यकता है input

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.