Вопрос

Я был большим поклонником MediaWiki и подобных текстовых редакторов на основе wiki.Мне нравится возможность быстро добавлять текст, сотрудничать и делиться.Тем не менее, всегда остается потребность в красиво отформатированном выводе на печать.Такие вещи, как верхние и нижние колонтитулы (которые говорят то, что я хочу, чтобы они сказали), разрывы страниц, поля и т.д.

Большинство решений, которые я видел, включают в себя какое-то преобразование в промежуточный формат печатного носителя (возможно, MediaWiki в Microsoft Word или, возможно, какой-то пользовательский скрипт, который генерирует PDF из содержимого веб-страницы (с большим количеством жестко закодированных ссылок).

Существует ли какое-либо более общее решение для этой проблемы?Любой фреймворк, который стремится объединить HTML и веб-контент в целом в формат вывода на печатный носитель?

Любые решения, обсуждение "за" или "против", или что угодно еще приветствуется.

Спасибо!

Обновить: Хотя я думаю, что CSS поможет мне продвинуться только так далеко...Я использовал CSS для вывода аналогичного типа (MediaWiki по умолчанию имеет формат печати, который скрывает большую часть содержимого навигационной панели).Хотя подумайте о статье в MediaWiki - представьте, что я могу настроить тег в контенте или что-то подобное, и теперь мое поле составляет 1 дюйм вместо 0,5 дюймов.Это больше соответствует тому, к чему я стремлюсь.

Это было полезно?

Решение

Возможно, вы слышали о ПедиаПресс, компания, которая сделала "вики для печати" (то есть PDF, но также и ODF), сотрудничает с Фондом Викимедиа.(См. "Вики доступны для печати".) Их код предназначен для работы с MediaWiki и является открытый исходный код.

Но!Это даже лучше, чем это.Посмотри на это букмарклет.Вы можете использовать его для создания PDF-файлов или ODF-файлов любой общедоступной страницы MediaWiki (возможно, для этого тоже нужно включить API ...).И вы можете объединить несколько страниц из одной MediaWiki или нескольких MediaWikis в один документ.В моей книге это чертовски круто.:)

ETA:PediaPress вложили значительную работу в создание чего-то, что выглядит действительно приятно читать.Это не просто эквивалент печатной версии MediaWiki, преобразованной в PDF.

Другие советы

http://www.princexml.com/

могло бы быть что-то для тебя.Он преобразует xml- и html-страницы в PDF-документы.

Используя печать CSS-файлов это действительно отличный подход к переформатированию страниц для печати.

Многие люди возвращаются к PDF, потому что это может будьте мощнее и проще.

Однако для большинства вещей я думаю, что CSS-разметка проще и понятнее.

Посмотрите на исходный код страниц в StackOverflow, и вы увидите ссылки на media="print" (print.css) - набор стилей, применяемых только тогда, когда браузер печатает страницу.

<link href="/Content/print.css" rel="stylesheet" media="print" type="text/css" />

Вы можете использовать их, чтобы скрыть панели навигации, рекламу (или показывать другую рекламу).Выполните некоторую базовую разбивку на страницы и т.д.

Если вам нужно больше контроля над такими вещами, как поля, вам придется выйти за пределы браузера (PDF, Word, XPS и т.д.).

Я написал Конвертер MediaWiki в LaTeX это пытается сохранить структуру документа исходного текста.Затем документ набирается с помощью pdflatex для получения документа очень высокого качества с разбиением на страницы.Математическая разметка напрямую визуализируется LaTeX, поэтому уравнения выглядят великолепно.LaTeX documentclass / stylesheet настраивается с помощью специализированных команд в wiki для непосредственного управления полями, макетом страницы, шрифтами, дополнительными пакетами и так далее.Это относится ко второй категории пользовательских скриптов, а не к универсальному фреймворку.

Есть много других, таких как Расширение:Pdf_Export который использует htmldoc ( htmldoc ).Хотя он более общий, он очень плохо разбивает страницы на страницы и создает множество вдов и сирот, не обеспечивает оптимального выравнивания текста и не содержит индексов, рисунков, ссылок на себя и т.д.Кроме того, если вы используете <math> разметку в MediaWiki, она включает только файлы PNG с низким разрешением.

princexml - принцессаml специализирован для MediaWiki и создает красивые документы, но недоступен по свободной лицензии.Поскольку это продукт с закрытым исходным кодом, ваша способность контролировать выходные данные ограничена.

В общем, используйте стили печати CSS + какой-нибудь инструмент для преобразования веб-страницы в PDF (безголовый Хром, Электрон, wkhtmltopdf wkhtmltopdf, Принц XML, или просто функция печати в PDF вашего веб-браузера, если вам не нужно ее автоматизировать).

Специально для MediaWiki, the Расширение ElectronPdfService делает это для тебя.(Кроме того, стили печати являются переписывается прямо сейчас;проверьте еще раз через месяц или два, чтобы улучшить презентацию.)

<style type="text/css">
    @media print {
        /***css rules for print mode ***/
        aside#sidebar, header[role="banner"], footer, #comments, #respond, #header-v1, .breadcrumbs, #footer-v1,.topbar-v1,.header-v1,.fcbtnremove {
            display: none;
        }

        .container.content-xs {
            width: 98%;
            margin: 0px;
            padding: 0px;
        }
    }

    @media screen {
        /***css rules for screen , it is sometiems opposite of print mode ***/
        #header-v1, .breadcrumbs, #footer-v1,.topbar-v1,.header-v1 {
            display: block;
        }
    }

    table td , table th{text-align:center;vertical-align:middle}
</style>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top