पर प्रिंट करते समय डिफ़ॉल्ट हेडर/फ़ूटर को बदलें, मैं पीडीएफ में एचटीएमएल प्रस्तुत करने के लिए फैंटॉमजेएस के प्रतिस्थापन के रूप में Google क्रोम का उपयोग करने की कोशिश कर रहा हूं। अब तक यह मेरे लिए अच्छा काम कर रहा है। केवल मुद्दा मुझे लगता है कि मैं निम्नलिखित PhantomJS कोड का अनुवाद करने में किसी भी तरह से नहीं मिला है है:पीडीएफ
page.paperSize = {
footer: {
contents: phantom.callback(function(pageNum, numPages) {
return "Power by MyWebsite. Created on "+formatDate(new Date())+"<span style='float:right'>" + pageNum + "/" + numPages + "</span>";
})
}
}
स्वरूप तिथि विचाराधीन रूप में एक ही कार्य है How to format a JavaScript date
हालांकि मैं इस को दोहराने के लिए एक तरह से नहीं मिला है हेडलेस में Google क्रोम में व्यवहार।
return new Promise(async function (resolve, reject) {
const url = "<MyURL here>";
const [tab] = await Cdp.List()
const client = await Cdp({ host: '127.0.0.1', target: tab });
await Promise.all([
Network.enable(),
Page.enable()
]);
Page.loadEventFired(function() {
setTimeout(function() {
resolve(Page.printToPDF({displayHeaderFooter:true}))); //https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF
}, 3000);
});
await Page.navigate({ url });
};
मैं पीडीएफ ठीक हो रही है लेकिन केवल डिफ़ॉल्ट क्रोम शीर्षलेख और पादलेख प्राप्त कर सकते हैं:
यह मेरा क्रोम दूरस्थ इंटरफ़ेस कोड की एक रूपरेखा है। उन्हें संशोधित करने का कोई तरीका?
नोट: मुझे लगता है कि मैं प्रत्येक पृष्ठ के नीचे करने के लिए तत्वों संलग्न करने के लिए अपने पृष्ठ में जावास्क्रिप्ट का उपयोग कर सकते हैं, लेकिन मैं पाद लेख है कि जब/मुद्रण निर्यात के रूप में मैं ब्राउज़र द्वारा जोड़ा जाता है को बदलने के लिए पसंद करते हैं हमने पाया कि पृष्ठ में अन्य divs के किसी भी अजीब पुन: बहने के बिना सही ढंग से और बिना किसी अजीब पुन: बहने के लिए यह अधिक विश्वसनीय है।
जब क्रोम खिड़की मोड में है, तो भी इसे बदलने शीर्ष लेख और पाद सामग्री का समर्थन नहीं करता, इसलिए मुझे लगता है कि हेडलेस विधि भी इसका समर्थन नहीं करेगी। यह आपके कोड में लिंक (https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF) से स्पष्ट है कि ऐसे पैरामीटर –
जावास्क्रिप्ट के साथ नहीं हैं आप तत्वों को जोड़ने के बारे में कैसे जाएंगे प्रत्येक पृष्ठ का शीर्ष? मैं समझता हूं कि हम दस्तावेज़ के शीर्ष पर तत्व जोड़ सकते हैं लेकिन अंतिम पीडीएफ में हम प्रत्येक पृष्ठ के शीर्ष पर कैसे लक्षित करेंगे? – kyriakos
@kyriakos आपको संभव होने के लिए प्रत्येक पृष्ठ तत्व को अपने स्वयं के 'div' में होना चाहिए। यह एक समाधान है, लेकिन एक अच्छा समाधान नहीं है। – apokryfos