Jochen Arndt
Цитата:
Мне нужна такая функциональность, как запись этой текущей открытой страницы в формате PDF, как она выглядит.
Я не думаю, что такое возможно. Тем не менее, вы можете получить близкий результат.
Проблема заключается в том, что HTML-контент динамически визуализируется в зависимости от размера видового экрана в пикселях и DPI монитора (используется для непиксельных размеров элементов), а PDF-файл основан на физических единицах длины, таких как дюйм или См.
Если бы это было возможно, я бы использовал драйвер PDF-принтера и использовал поддержку печати приложений. Он имеет то преимущество, что обеспечивает предварительный просмотр, так что вы можете просто проверить его результат.
Он также позволяет настроить размер страницы PDF таким образом, чтобы ее можно было настроить для получения результата, аналогичного экранному (используйте размер видового экрана и монитор DPI, чтобы получить требуемую ширину страницы). Это позволит избежать масштабирования, чтобы размеры были аналогичны размерам на экране. Вы также можете создавать "длинные" страницы, которые содержат весь контент на одной странице (но может быть ограничение, которого я на самом деле не знаю). Однако такие PDF-файлы будут предназначены только для просмотра на экране (возможно, они не будут хорошо распечатаны).
Обратите внимание, что
ITextSharp поддерживает также определение размера страницы. Таким образом, вы также можете использовать это и попытаться получить приемлемые результаты.
Ajay-Systematix
Собственно, мое требование заключается в том, что мне нужно добавить форму обратной связи, которую уже заполнил мой рефери. Нужно распечатать эту HTML-форму обратной связи в формате PDF. Его максимальный размер-страница формата А4.
Еще одна вещь, которую эта HTML-страница сохранила в Sql DB.
Jochen Arndt
Тогда было бы более разумно сделать HTML-страницу похожей на страницу формата А4 (например, ограничив размер).
Где хранится HTML-страница, не должно быть все равно. Но я надеюсь, что вы не храните всю страницу в базе данных. Это был бы плохой дизайн. Поскольку это форма, было бы лучше хранить только входные значения. Тогда вы также не привязаны к HTML, но можете создать отчет databse и распечатать его.
Jochen Arndt
Вы можете использовать стили, зависящие от устройства:
< голова>
& lt;link rel= "stylesheet" href= "stylesheet. css">
<ссылка отн="стилей" с href="печать-таблицы стилей.ПТК" СМИ="печать"и GT;
< / head>
Или добавьте переопределения для конкретных носителей в существующую таблицу стилей:
@media print {
/ * переопределение определенных стилей печати здесь */
}