Как распечатать полноразмерную страницу формата А4? - PullRequest
2 голосов
/ 29 мая 2009

Мне нужно напечатать 24 этикетки (37x70 мм) на странице формата A4.

Я генерирую HTML для таблицы размером с страницу А4.

Я попытался напечатать страницу из браузера, но безуспешно: страница не начинается сверху, хотя я установил верхнее поле равным 0 (для html-страницы и для браузера тоже).

Я попытался сгенерировать файл pdf с abcpdf, здесь половина успеха, страница начинается сверху, но не печатает нижнее поле.

Есть идеи?

Ответы [ 3 ]

13 голосов
/ 30 мая 2009

Я нашел решение, использующее abcpdf для создания PDF-файла со страницы HTML :

thedoc.mediabox.string = "A4";
thedoc.rect.string = thedoc.mediabox.string;

С этими настройками сгенерированный PDF имеет размер страницы А4.

1 голос
/ 29 мая 2009

Нет простого способа сделать это с помощью HTML или HTML / CSS.

Я бы предложил использовать PrinceXML , он обрабатывает богатый словарь XML, а также XHTML / CSS. Они даже опубликовали книгу из ее вывода в формате PDF. Он также используется в Документах Google для создания PDF-файлов.

На странице Википедии есть хорошие ссылки .

0 голосов
/ 29 мая 2009

Вам действительно нужно создать его в формате PDF, чтобы получить точные поля и т. Д. Для ярлыков.

Также имейте в виду, что когда вы печатаете в формате PDF, у него есть режим масштабирования, при котором страница сжимается до размеров полей, вам нужно либо сказать своим пользователям, чтобы отключить это, либо вам придется обслуживать это .

Что касается отсутствия печати нижнего поля, может быть, ваш принтер просто не печатает так далеко вниз? Я знаю, что у большинства из тех, что у меня были, нижнее поле было больше, чем у верхнего и бокового полей.

Вот список библиотек PDF:

https://stackoverflow.com/questions/373926/lightweight-open-source-pdf-library-in-c

...