Как Google создает такие замечательные отчеты в формате PDF в Analytics, когда вы распечатываете документы Google и т. д.?[закрыто]

StackOverflow https://stackoverflow.com/questions/47709

Вопрос

Когда вы печатаете из Документов Google (используя ссылку «Печать», а не «Файл/Печать»), вы в конечном итоге печатаете правильно отформатированный PDF-файл вместо того, чтобы полагаться на механизм печати браузера.То же самое относится и к некоторым отчетам Google Analytics...печатные отчеты в формате PDF прекрасны.Как они это делают?Я не могу представить, чтобы они использовали что-то вроде Adobe Acrobat для облегчения этого, но, возможно, они это делают.Время от времени я видел в Интернете несколько дорогих конвертеров HTML в PDF, но они мне никогда не надоедали.Есть предположения?

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

Решение

Если вы специально смотрите, как это делает Google.Если вы посмотрите на Свойства PDF странице, они используют Prince 6.0 (см. Princexml.com)

Существует множество других генераторов PDF.Я добился большого успеха с PDFlib для сложных работ.

alt text

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

iTextSharp и iText — это бесплатные библиотеки создания PDF-файлов с открытым исходным кодом для .NET и Java соответственно.

Раньше я использовал их для создания PDF-файлов отчетов и был вполне доволен результатами.

http://itextsharp.sourceforge.net/

http://www.lowagie.com/iText/

Отличная бесплатная альтернатива PrinceXML: wkhtmltopdf .Существует множество библиотек-оболочек для разных языков, но я использовал только Ruby.Однако сам продукт, по моему мнению, находится на одном уровне с PrinceXML.

Я добился успеха с pd4ml.Он имеет библиотеку тегов, поэтому вы можете превратить любой существующий HTML в PDF,

<pd4ml:transform>
<!-- Your HTML is here -->

<c:import url="/page.html" />
</pd4ml:transform>

Ну, я сомневаюсь, что это так же просто, как генерировать HTML...Я имею в виду, прежде всего, что PDF не является удобочитаемым форматом и не является обычным текстом (например, SVG).Фактически, я бы сравнил файл SVG с файлом PDF в том смысле, что в обоих случаях у вас есть точный контроль над макетом на печатной странице.Но SVG отличается тем, что это XML (а также тем, что он не полностью поддерживается браузером...все еще изучаю SVG).Если подумать, моим следующим вопросом, вероятно, должен стать SVG.

Я знаю, что Google не использует .NET, и сомневаюсь, что они используют Java, поэтому должны быть какие-то другие библиотеки, которые они используют для создания файлов PDF.Что еще более важно, как они создают PDF-файлы без необходимости переписывать все в формате PDF, а не в формате HTML?Я имею в виду, что должен быть какой-то общий код между моментами создания представления HTML, а не представления PDF.Если подумать, возможно, представление PDF и представление HTML полностью разделены, и у них просто два представления, и поэтому стиль разработки MVC кажется подходящим вариантом.

Рендеринг PDF-файла — сложная задача.Однако их создание — это не так.Просто создайте несколько сущностей и сгенерируйте.Речь идет о той же проблемной области, что и создание HTML для веб-страницы или веб-страницы.отображение (рендеринг) его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top