Задний план
Пакетное преобразование различных исходных файлов с подсветкой синтаксиса (C, SQL, Java, PHP, batch, bash) в изображения с высоким разрешением (600 точек на дюйм), подходящие для электронных книг и печатных книг.
Неудачные решения
Ряд попыток пока:
- OpenOffice или LibreOffice - приходится повторно импортировать исходный код в документ каждый раз, когда изменяется исходный файл. (То есть решение не может быть легко автоматизировано для сотен или тысяч исходных файлов.)
- EnScript. Не может легко изменить цвета, неправильно отображает вывод, не является исчерпывающим.
- LyX / LaTeX. Несовершенно оказывает вывод.
- gvim to HTML - HTMLDOC в PostScript - GhostScript для PNG. HTMLDOC игнорирует
font
теги. - gvim to HTML - html2ps - GhostScript для PNG. Цвета RGB не распознаются
html2ps
. - Firefox для PostScript - GhostScript для PNG. Неприятно обходной.
- gvim to HTML - OmniFormat к чему угодно. Бесплатная версия не подходит для пакетной обработки; много рекламных всплывающих окон.
- pygments. Не может легко изменить разрешение изображения; не имеет диапазона цветовых схем gvim.
Ближайшее решение
Решение, которое почти работает:
- gvim to HTML - wkhtmltopdf to PDF. Потребуется постобработка с ImageMagick ( wkhtmltoimage не может установить разрешение изображения, только ширину страницы).
Требования
- Windows и Linux, но любой из них приемлем.
- Бесплатно или OSS
- Только командная строка (подходит для пакетной обработки)
- Легко изменить цветовую гамму
- Поддержка: PHP, Batch, Bash, Java, JavaScript, R, C и SQL
Вопрос
Любые другие способы преобразовать выделенный синтаксисом исходный код в изображение с высоким разрешением (600 точек на дюйм)?
Спасибо!
gvim
syntax-highlighting
imagemagick
ghostscript
Дейв Джарвис
источник
источник
wkhtmltoimage
и настройки ширины страницы недостаточно? высота не может быть указана, так как она определяется содержанием HTML-материала. imho width - это все, что вам действительно нужно, вы можете рассчитать необходимую ширину, исходя из того, сколько пикселей на дюйм вы хотите.Ответы:
Требования к программному обеспечению
Следующие пакеты программного обеспечения доступны как для систем Windows, так и для Linux, и необходимы для полного рабочего решения:
Общие шаги
Вот как работает решение:
FONT
тегами).Сценарий генерирует изображения одинаковой ширины для исходных файлов, содержащих строки длиной до 80 символов. Исходные файлы со строками длиной более 80 символов приводят к изображениям шириной, необходимой для сохранения всей строки.
Установка
Установите компоненты в следующих местах:
C:\Program Files\Vim
C:\Program Files\Vim\vim73\colors
C:\Program Files\wkhtml
C:\Program Files\ImageMagick
C:\Program Files\GnuWin32
Примечание. ImageMagick имеет программу
convert.exe
, которая не может заменить команду Windowsconvert
. Из-за этого полный путь к файлуconvert.exe
должен быть жестко задан в командном файле (в отличие от добавления ImageMagick вPATH
).Переменные среды
Установите переменную среды PATH в:
Пакетный файл
Запустите его используя:
Создайте пакетный файл, вызываемый
src2png.bat
путем копирования следующего содержимого:Улучшения и оптимизации приветствуются.
Примечание: последняя версия wkhtmltoimage правильно обрабатывает переопределение цвета фона. Таким образом, в теории линия для удаления CSS для фоновых цветов больше не нужна.
источник
читая справочную страницу
wkhtmltoimage
:если это не поможет: собрать простое решение с помощью Qt и (включенного в комплект) Webkit довольно просто.
источник
dpi
Опция не доступна с версии Windows.Вы также можете использовать командную строку формы преобразования Open Office для Html-> PDF:
http://www.oooninja.com/2008/02/batch-command-line-file-conversion-with.html
источник
wkhtmltoimage
. Кроме того, ваше решение является теоретическим. Если вы создаете рабочий пакетный файл, который точно воспроизводит результаты,src2png.bat
как указано в правильном ответе (с прозрачными фоновыми изображениями), и конвертирует HTML за меньшее время, чем при использовании вwkhtmltoimage
качестве полностью автоматического решения, я рекомендую вам опубликовать результаты в качестве альтернативы. , Кроме того, что было бы преимуществом заменыwkhtmltoimage
на OpenOffice?