Как преобразовать файл HTML в PDF (с цветами)

Эта страница Wiki покрывает, как создать фиктивное использование аудиовхода PulseAudio, который может затем записывать Смелость использования.

Это использует Контроллер Объема PulseAudio (который доступен в значении по умолчанию repos, sudo apt-get install pavucontrol), и создает поток приложения, который Смелость считает, как введено.

Это намного лучше объяснено на вышеупомянутой странице Wiki.

30
задан 29.03.2020, 02:48

7 ответов

Откройте html-файл в LibreOffice Writer, а затем в разделе File в меню выберите export to PDF. Вот и все.

Если вы предпочитаете командную строку, взгляните на Преобразование HTML-страницы в PDF с использованием инструмента с открытым исходным кодом - Linux / OS X / Windows .

Программное обеспечение можно установить с помощью sudo apt-get install wkhtmltopdf.

36
ответ дан 29.03.2020, 02:49
  • 1
    Существует это, wkhtmltopdf, также но у меня нет опыта его: cyberciti.biz/open-source/… – MarsPeople 29.03.2020, 02:49
  • 2
    Я думаю, что это может быть автоматизировано на командной строке также с некоторыми усилиями.:) – Generic Bot 29.03.2020, 02:49
  • 3
    Отправьте wkhtmltopdf как ОТВЕТ, он разрешил проблему – Pre_hacker 29.03.2020, 02:50
  • 4
    @gertvdijk, Который является вне моей компетентности. I' ve никогда не использовал LibO через CLI. – driftking9987 29.03.2020, 02:50
  • 5
    @gaskopeter, сделанный согласно просьбе путем редактирования ответа. – Sufian 29.03.2020, 02:50

Web2PDFConverter расширение для Chromium или Chrome конвертирует любую веб-страницу в PDF.

Или, вы можете просто использовать этот сайт: http://pdfcrowd.com/ . Для локальных файлов: http://pdfcrowd.com/#convert_by_upload

3
ответ дан 29.03.2020, 02:49
  • 1
    использование строка Firefox+cmd было бы better:P – Emzor 29.03.2020, 02:50
  • 2
    математические уравнения не преобразовываются, нужно использовать версию для печати – Vinoth Vino 29.03.2020, 02:50
  • 3
    @gaskopeter pdfcrowd.com/#convert_by_upload - открывает его в Firefox – jeet.chanchawat 29.03.2020, 02:50

Я попытался WeasyPrint , как было предложено другими. На многих страницах он не очень хорошо конвертируется, а на некоторых - просто с ошибкой.

Следующий аддон Firefox работает для меня. Firefox 55. Он говорит только Windows, но работает на Ubuntu.

FireShot

2
ответ дан 29.03.2020, 02:50

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 /

Последняя версия является автономной (не требует X-сервера).

Еще одна возможность: phantomjs - это волшебный безголовый веб-браузер, также основанный на webkit html. Он может экспортировать страницу как PDF среди прочего.

http://phantomjs.org

16
ответ дан 29.03.2020, 02:51
  • 1
    На OS X: brew install Caskroom/cask/wkhtmltopdf. – Aniket Thakur 29.03.2020, 02:51

WeasyPrint кажется многообещающим. Я попробовал wkhtmltopdf и, хотя он отображает вещи приемлемым образом, он не отображает все должным образом и создает PDF-файлы, которые открываются много секунд!

weasyprint mypage.html out.pdf

В качестве дополнительной информации может быть полезно изменить CSS, если вы хотите, чтобы представление браузера и PDF выглядели одинаково.

/* For converting to PDF */
body {
  width: 210mm; /* A4 dimension */
}
@page {
  margin:0;
  padding: 0;
}
10
ответ дан 29.03.2020, 02:52
  • 1
    weasyprint хорошо, но приблизительно в 15 раз медленнее, чем wkhtmltopdf, как я вспоминаю, таким образом, это не подходило для нас для генерации отчетов по требованию для наших клиентов. wkhtmltopdf может быть убежден сделать хорошее задание даже для сложных отчетов... с некоторым значительным усилием! – Emzor 29.03.2020, 02:52
  • 2
    Я только что попытался установить weasypeasey, но didn' t работа.. Возможно, Вы могли помочь?:) Сначала я сделал это: 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 – Trung NT Nguyen 29.03.2020, 02:53
  • 3
    @clarkk мое плохое. It' s на самом деле weasyprint. Так pip install weasyprint – makeasy 29.03.2020, 02:53
  • 4
    Потрясающий это сохраняет css и является потрясающим.. – Community 29.03.2020, 02:53

Вы можете попробовать использовать PhantomJS и некоторый код, например, используя rasterize.js :

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

Или использовать NodeJS [ 112] пакет npm (см. GitHub , установка через: npm install -g html-pdf), как предлагается в комментарии. Использование:

html-pdf http://example.com/ example.pdf
2
ответ дан 29.03.2020, 02:53
  • 1
    Существует готовое для использования пакета NodeJS npm: PDF HTML — HTML к преобразователю PDF, который использует phantomjs. – meJustAndrew 29.03.2020, 02:53
  • 2
    Я не мог установить его с npm из-за недостающей phantomjs-предварительной-сборки (который не мог правильно быть установлен из-за прав доступа, даже с корнем), – Nikunj B. Balar 29.03.2020, 02:53

Попробуйте Dompdf (проверьте исходный код на GitHub ), который является конвертером HTML в PDF. Эта библиотека очень проста в использовании, а также очень проста в установке. Используя composer , вы можете настроить его довольно быстро.

Требования: 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");
1
ответ дан 29.03.2020, 02:53

Теги

Похожие вопросы