द्वारा जेनरेट किए गए .docx से पीडीएफ जेनरेट करें। मैं PHPWord
का उपयोग कर टेम्पलेट से .docx
फ़ाइलों को बना रहा हूं। यह ठीक काम करता है लेकिन अब मैं जेनरेट की गई फाइल को PDF
में कनवर्ट करना चाहता हूं।PHPWord
सबसे पहले मैं PHPWord
$wordPdf = \PhpOffice\PhpWord\IOFactory::load($filename.".docx");
\PhpOffice\PhpWord\Settings::setPdfRendererPath(dirname(__FILE__)."/../../Office/tcpdf");
\PhpOffice\PhpWord\Settings::setPdfRendererName('TCPDF');
$pdfWriter = \PhpOffice\PhpWord\IOFactory::createWriter($wordPdf , 'PDF');
if (file_exists($filename.".pdf")) unlink($filename.".pdf");
$pdfWriter->save($filename.".pdf");
के साथ संयोजन में tcpdf
उपयोग करने की कोशिश लेकिन जब मैं फ़ाइल को लोड करने की कोशिश PDF
करने के लिए इसे परिवर्तित करने के लिए मैं निम्नलिखित अपवाद फ़ाइल
Fatal error: Uncaught exception 'BadMethodCallException' with message 'Cannot add PreserveText in Section.'
को लोड करते समय मिलता है कुछ शोध के बाद मैंने पाया कि कुछ अन्य लोगों के पास यह बग भी है (phpWord - Cannot add PreserveText in Section)
संपादित
After trying around some more I found out, that the
Exception
only occurs when I have somemail merge fields
in my document. Once I removed them theException
does not come up anymore, but the converted
मैं एक और तरीका है का उपयोग कर पीडीएफ उत्पन्न करने के लिए के बारे में सोचा है, लेकिन मैं केवल 4 तरीके मिल सकता है:
- OpenOffice का उपयोग करना - असंभव क्योंकि मैं सर्वर पर किसी भी सॉफ्टवेयर को स्थापित नहीं कर सकता। इसके अलावा जिस तरह से उल्लेख किया here या तो मेरी होस्टर के रूप में काम नहीं किया (Strato) जा रहा ओएस के रूप में SunOS उपयोग करता है और यह लिनक्स
- जरूरत phpdocx का उपयोग करना - मैं इसके लिए भुगतान करने के लिए किसी भी बजट नहीं है और डेमो पीडीएफ नहीं बना सकते
- PHPLiveDocx का उपयोग करना - यह काम करता है, लेकिन प्रति दिन 250 दस्तावेजों और 20 प्रति घंटे की सीमा है और मैं एक बार में arround 300 दस्तावेजों, हो सकता है यहां तक कि कई बार एक दिन
- कन्वर्ट करने के लिए PHP-Digital-Format-Convert का उपयोग करना है - उत्पादनसे बेहतर दिखता है 23,210 और
tcpdf
, लेकिन अभी भी छवियों के रूप में नहीं प्रयोग करने योग्य शैलियों
वहाँ एक 5 वीं रास्ता पीडीएफ उत्पन्न करने के लिए है की याद कर रहे हैं, और सबसे (सभी नहीं!)? या जेनरेट किए गए पीडीएफ दस्तावेज़ों को अच्छा बनाने के लिए कोई समाधान है?
सभ्य पीडीएफ उत्पादन शायद आप एक दूसरी खाका बनाने के लिए की आवश्यकता होगी (यदि आप पहले से ही एक MSWord टेम्पलेट मिल गया है आप हूँ अगले एक पीडीएफ टेम्पलेट चाहते हैं जो आपके स्रोत दस्तावेज़ को इनपुट में ले जाए जो tcpdf चाहता है)। –
@Rob_M हाँ मैंने पहले से ही एक HTML टेम्पलेट बनाने के बारे में सोचा है क्योंकि एचटीएमएल को पीडीएफ में कनवर्ट करने के लिए कुछ लाइब्रेरी हैं, लेकिन मेरे पास बहुत सारे टेम्पलेट्स हैं, इसलिए यह उन्हें बनाने के लिए काफी काम होगा और जिस तरह से मैं भरूं उन्हें सामग्री के साथ, इसलिए मुझे उम्मीद है कि एक और आसान तरीका है ... – Pinguin895
यह लिंक मदद कर सकता है: https://github.com/PHPOffice/PHPWord/issues/311 –