Генерация отчетов HTML, содержащих информацию, хранящуюся в файлах PDF - PullRequest
0 голосов
/ 16 марта 2012

Я хотел бы создать html-отчет, содержащий некоторые результаты (графики, статистика из R).Графики сохраняются в pdf-файлах.

Мой вариант: Perl-скрипт, который сгенерирует html-отчет (путем преобразования pdf в jpeg)

Какие другие варианты будут идеальными в этом случае?

Я работаю в среде UNIX.

Ответы [ 2 ]

1 голос
/ 17 марта 2012

Если вы знакомы с R, вы можете посмотреть на knitr пакет . R2HTML основан на Sweave, который не вполне расширяем, а knitr полностью расширяем и поддерживает HTML естественным образом; см. минимальный пример с источником .

У вас есть много вариантов сохранения графики R (pdf, png, jpeg, ...); см. параметр dev (графическое устройство). Поэтому нет необходимости конвертировать PDF в другие растровые форматы на стороне R.

Вы сказали, что у вас также есть выход Ruby и C; Я не уверен, как вы собираетесь с ними справиться: вы хотите генерировать вывод динамически (грамотное программирование) или вставлять их вручную? В первом случае вы, вероятно, можете использовать функцию R system() для запуска внешних программ (например, вызов C для генерации PDF и вызов Perl для конвертации). Вы также можете определить knitr hooks для выполнения этих работ, но вам может понадобиться больше, чтобы узнать, как работают hooks в knitr.

Другой подход - преобразовать вывод PDF с помощью пакетного задания и изменить код HTML, например. замените <img src='foobar.pdf' /> на <img src='foobar.jpeg' /> в HTML после преобразования всех файлов PDF в JPEG. Это должно быть проще.

0 голосов
/ 16 марта 2012

Если у вас есть контроль над тем, как графики и статистика создаются в R, ваш самый простой подход, вероятно, будет использовать пакет R2HTML для прямой генерации HTML. Это будет включать в себя подход, подобный развертке, который заменит вывод R в соответствующих местах в шаблоне HTML.

Кроме того, R может создавать jpeg-файлы (или gif-файлы) для графиков так же легко, как и PDF-файлы, так что можно полностью избежать шага преобразования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...