HTML 파일을 PDF로 변환하는 방법 (색상 포함)


30

style.css를 사용하고 색상이있는 HTML 파일이 있습니다.

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

Ubuntu 12.04에서이 로컬 파일을 PDF로 "내보내기"하려면 어떻게해야합니까? 모양과 색상이 동일하게 유지되어야합니다. 예 : Ctrl+ P-> PDF로 인쇄 하려고 시도했지만 색상이 유지되지 않았습니다. 나는 시도 htmldoc--color옵션 ..하지만 같은 문제입니다 ..

명령 행을 통해이 작업을 수행하는 것이 좋습니다.


답변:


36

LibreOffice Writer에서 html 파일을 연 다음 File메뉴 에서을 선택하십시오 export to PDF. 그게 다야.

명령 행을 선호하는 경우 오픈 소스 도구를 사용하여 HTML 페이지를 PDF변환-Linux / OS X / Windows를 참조하십시오 .

를 사용하여 소프트웨어를 설치할 수 있습니다 sudo apt-get install wkhtmltopdf.


몇 가지 노력을 기울이면 명령 줄에서 자동화 할 수 있다고 생각합니다. :)
gertvdijk

@gertvdijk, 그건 내 능력을 초월합니다. CLI를 통해 LibO를 사용한 적이 없습니다.

wkhtmltopdf도 있지만 이것에 대한 경험은 없습니다 : cyberciti.biz/open-source/…

답변으로 wkhtmltopdf를 게시하십시오. 문제가 해결되었습니다
gasko peter

@gaskopeter, 답변을 수정하여 요청에 따라 수행됩니다.

16

웹킷 HTML을 PDF로 :

sudo apt-get install wkhtmltopdf

http://wkhtmltopdf.org/

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

최신 버전은 헤드리스입니다 (X 서버가 필요하지 않음).

또 다른 가능성 : phantomjs는 마법의 헤드리스 웹 브라우저이며 웹킷 HTML을 기반으로합니다. 페이지를 PDF로 내보낼 수 있습니다.

http://phantomjs.org


4
OS X의 경우 : brew install Caskroom/cask/wkhtmltopdf.
kenorb

10

WeasyPrint가 유망한 것 같습니다. 나는 그것을 시도 wkhtmltopdf하고 그것을 수용 가능한 방식으로 렌더링하지만 모든 것을 올바르게 렌더링하지는 않으며 열려면 몇 초가 걸리는 pdf를 만듭니다!

설치

pip install weasyprint

운영

weasyprint mypage.html out.pdf

또한 브라우저보기와 PDF를 동일하게 보이게하려면 CSS를 변경하는 것이 도움이 될 수 있습니다.

/* 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-infopip install weasypeasyCould not find any downloads that satisfy the requirement weasypeasy
먼저이 작업을 수행

1
@clarkk 내 나쁜. 실제로 weasyprint입니다. 그래서pip install weasyprint
Pithikos

3
weasyprintwkhtmltopdf내가 기억하는 것보다 약 15 배 느리기 때문에 고객에 대한 주문형 보고서를 생성하는 것은 적합하지 않습니다. wkhtmltopdf복잡한 보고서에도 좋은 작업을 수행하도록 설득 할 수 있습니다.
Sam Watkins

그것은 CSS를 보존하고 굉장합니다 ..
Aditya ultra

3

Chromium 또는 Chrome 용 Web2PDFConverter 확장 프로그램은 모든 웹 페이지를 PDF로 변환합니다.

또는 http://pdfcrowd.com/ 사이트 만 사용할 수 있습니다 . 로컬 파일의 경우 : http://pdfcrowd.com/#convert_by_upload


Firefox + cmd 줄을 사용하는 것이 좋습니다 : P
gasko peter


수학 방정식은 변환되지 않으며 인쇄 가능한 버전을 사용해야합니다
Adam

2

rasterize.js 를 사용하는 PhantomJS 및 일부 코드 를 사용하려고 할 수 있습니다 .

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

또는 주석에서 제안한대로 NodeJS html-pdfnpm 패키지 ( GitHub 참조 :를 통해 설치)를 사용 하십시오 npm install -g html-pdf. 용법:

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

NodeJS npm 패키지를 사용할 준비가되었습니다 : html-pdf — phantomjs를 사용하는 HTML- PDF 변환기.
ruvim

phantomjs-prebuild가 없어서 npm으로 설치할 수 없었습니다 (루트를 사용하더라도 액세스 권한으로 인해 제대로 설치할 수 없음)
Martin Thoma

2

다른 사람들이 제안한대로 WeasyPrint 를 사용해 보았습니다 . 많은 페이지에서 잘 변환되지 않으며 일부 페이지에서는 오류와 함께 실패합니다.

다음 Firefox 애드온이 나를 위해 작동합니다. Firefox 55. Windows 전용이지만 Ubuntu에서 작동합니다.

파이어 샷


1

HTML-PDF 변환기 인 Dompdf ( GitHub에서 소스 코드 확인)를 사용해보십시오 . 이 라이브러리는 사용하기 쉽고 설치도 매우 쉽습니다. 작곡가 를 사용하면 매우 빠르게 설정할 수 있습니다.

요구 사항 : PHP 5.0 이상 (5.3 이상 권장), DOM 확장, GD 확장

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");
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.