HTML फाइल को पीडीएफ में कैसे बदलें (रंगों के साथ)


30

मेरे पास एक HTML फ़ाइल है जो एक style.css का उपयोग कर रही है और इसमें रंग हैं, उदा .:

<font style=BACKGROUND-COLOR:red; color=white>FOO</font>

मैं इस स्थानीय फ़ाइल को अपने Ubuntu 12.04 पर एक पीडीएफ में "निर्यात" कैसे कर सकता हूं? (रूप और रंग समान रहना चाहिए)। मैंने पूर्व की कोशिश की।: Ctrl+ P-> पीडीएफ में प्रिंट करें, लेकिन इसने रंगों को संरक्षित नहीं किया। मैं विकल्प के htmldocसाथ की कोशिश की --color.. लेकिन यह एक ही समस्या है ..

कमांड लाइन के माध्यम से ऐसा करना बहुत अच्छा होगा।


जवाबों:


36

लिबर ऑफिस राइटर में अपनी html फाइल खोलें और फिर Fileमेन्यू के तहत चुनें export to PDF। बस।

यदि आप कमांड लाइन पसंद करते हैं, तो ओपन सोर्स टूल - लिनक्स / ओएस एक्स / विंडोज का उपयोग करके कन्वर्ट HTML पेज को पीडीएफ में देखें

सॉफ्टवेयर का उपयोग कर स्थापित किया जा सकता है sudo apt-get install wkhtmltopdf


मुझे लगता है कि यह कमांड लाइन के साथ-साथ कुछ प्रयासों के साथ स्वचालित हो सकता है। :)
gertvdijk

@gertvdijk, यह मेरी योग्यता से परे है। मैंने कभी CLO के माध्यम से Libo का उपयोग नहीं किया है।

यह है, wkhtmltopdf, साथ ही लेकिन मुझे इसका कोई अनुभव नहीं है: cyberciti.biz/open-source/…

कृपया ANSWER के रूप में wkhtmltopdf पोस्ट करें, इसने समस्या का समाधान किया
gasko पीटर

@gaskopeter, जैसा कि उत्तर को संपादित करके अनुरोध किया गया है।

16

Webkit HTML से PDF:

sudo apt-get install wkhtmltopdf

http://wkhtmltopdf.org/

http://www.cyberciti.biz/open-source/html-to-pdf-freeware-linux-osx-windows-software/

नवीनतम संस्करण हेडलेस है (एक्स सर्वर की आवश्यकता नहीं है)।

एक और संभावना: फैंटमज एक जादू रहित वेब ब्राउज़र है, जो वेबकिट html पर भी आधारित है। यह अन्य चीजों के बीच एक पेज को पीडीएफ के रूप में निर्यात कर सकता है।

http://phantomjs.org


4
ओएस एक्स पर brew install Caskroom/cask/wkhtmltopdf:।
kenorb

10

WeasyPrint आशाजनक लगता है। मैंने कोशिश की wkhtmltopdfऔर यद्यपि यह स्वीकार्य तरीके से चीजों को प्रस्तुत करता है, यह सब कुछ ठीक से प्रस्तुत नहीं करता है और यह पीडीएफ़ बनाता है जिसे खोलने में कई सेकंड लगते हैं!

इंस्टॉल करें

pip install weasyprint

रन

weasyprint mypage.html out.pdf

अतिरिक्त के रूप में यह सीएसएस को बदलने के लिए सहायक हो सकता है यदि आप ब्राउज़र को देखने के लिए और पीडीएफ को समान दिखना चाहते हैं।

/* For converting to PDF */
body {
  width: 210mm; /* A4 dimension */
}
@page {
  margin:0;
  padding: 0;
}

मैं सिर्फ स्थापित करने की कोशिश की है, weasypeaseyलेकिन काम नहीं किया .. शायद आप मदद कर सकते हैं? :) पहले मैंने ऐसा किया था: apt-get install python-dev python-pip python-lxml libcairo2 libpango1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-infoऔर फिर पाइप को स्थापित करने के साथ pip install weasypeasyलेकिन यह त्रुटि मिलती है: Could not find any downloads that satisfy the requirement weasypeasy
क्लार्क

1
@ मेरी बुर खराब करो। यह वास्तव में है weasyprint। इसलिएpip install weasyprint
पिथिकोस

3
weasyprintजैसा wkhtmltopdfकि मुझे याद है कि तुलना में अच्छा है, लेकिन लगभग 15 गुना धीमा है , इसलिए यह हमारे लिए हमारे ग्राहकों की मांग पर रिपोर्ट उत्पन्न करने के लिए उपयुक्त नहीं था। wkhtmltopdfजटिल रिपोर्ट के लिए एक अच्छा काम करने के लिए राजी किया जा सकता है ... कुछ काफी प्रयासों के साथ!
सैम वॉटकिंस

बहुत बढ़िया यह सीएसएस को संरक्षित करता है और भयानक है ..
आदित्य अल्ट्रा

3

क्रोमियम या क्रोम के लिए Web2PDFConverter एक्सटेंशन किसी भी वेबपेज को पीडीएफ में बदल देता है।

या, आप केवल इस साइट का उपयोग कर सकते हैं: http://pdfcrowd.com/ । स्थानीय फ़ाइलों के लिए: http://pdfcrowd.com/#convert_by_upload


फ़ायरफ़ॉक्स + cmd लाइन का उपयोग करना बेहतर होगा: P
gasko पीटर

@gaskopeter pdfcrowd.com/#convert_by_upload - इसे फ़ायरफ़ॉक्स में खोलें
Radu Rădeanu

गणित के समीकरणों को परिवर्तित नहीं किया जाता है, एक को मुद्रण योग्य संस्करण का उपयोग करना चाहिए
एडम

2

आप PhantomJS और कुछ कोड, उदाहरण के लिए rasterize.js का उपयोग करने का प्रयास कर सकते हैं :

phantomjs rasterize.js http://example.com/

या टिप्पणी में सुझाए अनुसार NodeJS npm html-pdfपैकेज ( GitHub देखें , इसके माध्यम से इंस्टॉल करें npm install -g html-pdf) का उपयोग करें। उपयोग:

html-pdf http://example.com/ example.pdf

NodeJS npm पैकेज का उपयोग करने के लिए तैयार है: HTML- पीडीएफ - HTML से पीडीएफ कन्वर्टर जो कि फैंटमज का उपयोग करता है।
ruvim

मैं लापता phantomjs-prebuild (जो मूल अधिकारों के कारण भी स्पष्ट रूप से स्थापित नहीं किया जा सका) के कारण npm के साथ इसे स्थापित नहीं कर सका
मार्टिन थामा

2

मैंने WeasyPrint की कोशिश की है जैसा कि दूसरों ने सुझाया था। यह कई पृष्ठों में अच्छी तरह से परिवर्तित नहीं होता है, और कुछ पृष्ठों में यह केवल एक त्रुटि के साथ विफल हो जाता है।

निम्नलिखित फ़ायरफ़ॉक्स addon मेरे लिए काम करता है। फ़ायरफ़ॉक्स 55. यह केवल विंडोज कहता है, लेकिन यह उबंटू पर काम करता है।

FireShot


1

DOMpdf आज़माएं ( GitHub पर स्रोत कोड की जाँच करें ) जो कि HTML से पीडीएफ कनवर्टर है। इस लाइब्रेरी का उपयोग करना बहुत आसान है, और इसे स्थापित करना भी बहुत आसान है। संगीतकार का उपयोग करके आप इसे बहुत तेजी से सेट कर सकते हैं।

आवश्यकताएँ: PHP 5.0+ (5.3+ अनुशंसित), डोम एक्सटेंशन, जीडी एक्सटेंशन

उदाहरण PHP कोड:

<?php
// somewhere early in your project's loading, require the Composer autoloader
// see: http://getcomposer.org/doc/00-intro.md
require 'vendor/autoload.php';

// disable DOMPDF's internal autoloader if you are using Composer
define('DOMPDF_ENABLE_AUTOLOAD', false);

// include DOMPDF's default configuration
require_once 'vendor/dompdf/dompdf/dompdf_config.inc.php';


$htmlString = '';
ob_start();
include('html_to_dpf.html');
$htmlString .= ob_get_clean();


$dompdf = new DOMPDF();
$dompdf->load_html($htmlString);
$dompdf->render();
$dompdf->stream("sample.pdf");
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.