Вопрос или проблема
У меня есть проблема с печатью следующей страницы:
https://aplikacja.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/Search.aspx
Я попытался напечатать эту веб-страницу в PDF без какого-либо специального драйвера, просто используя встроенную функцию Печать/Сохранить в PDF в браузерах FireFox и Chrome.
Проблема в том, что я всегда получаю A3 альбомный (297×420 мм)
Я бы хотел попросить некоторых людей проверить, что сделано с этой веб-страницей и как я могу гарантировать, что создаваемый PDF с помощью функции Печать/Сохранить в PDF даст мне A4 портретный (210×297 мм), вместо A3 альбомного (297×420 мм), конечно, используя встроенную функцию Печать/Сохранить в PDF в браузерах FireFox и Chrome.
Это связано с тем, что этот CSS файл на странице определяет следующее:
@page {
size: a3;
}
Обычно вы можете выбрать размер документа в Дополнительные настройки, как на этом сайте, но когда размер страницы строго определен, стандартная реализация PDF-принтера в Chrome/Firefox пропускает выбор.
Либо:
- использовать PDF-принтер с большей свободой, например, от Foxit
- отключить/перезаписать этот CSS, что может оказаться обременительным, так как
@page
даже не кажется указанным при эмуляции печати - эмулировать
screen
в Chrome DevTools (F12) -> иконка меню “кебаб” -> Дополнительные инструменты -> Рендеринг -> Эмулировать медиапорт и затем напечатать
Ответ или решение
Проблема печати страниц в формате PDF с веб-сайта CEIDG: Как изменить размер страницы с A3 на A4
При попытке напечатать страницу с CEIDG в формате PDF с помощью встроенной функции печати в браузерах Firefox и Chrome, у вас возникла проблема изменения формата бумаги с A3 в альбомной ориентации на A4 в портретной ориентации. Данная проблема заключается в том, что CSS-файл, связанный с этой страницей, определяет размеры страниц по умолчанию как A3. Это предотвращает возможность выбора формата бумаги в настройках печати.
Проблема с CSS
В файле стилей, связанном с данной страницей, присутствует следующий код CSS:
@page {
size: a3;
}
Этот код жестко задает размер страницы, в результате чего браузеры пропускают возможность выбрать другой размер при печати. Это особенно проблематично, когда у вас нет возможности настроить или отменить это правило непосредственно через стандартные параметры браузера.
Решения проблемы
Есть несколько методов, которые могут помочь вам обойти данную проблему и добиться печати в формате A4:
-
Используйте PDF-принтер с другими возможностями
Установите и используйте сторонний PDF-принтер, такой как Foxit PDF Printer, который позволяет дополнительно настроить параметры печати, включая выбор формата бумаги. Это даст вам больше контроля над процессом печати и позволит избежать ограничений встроенных функций браузера. -
Отключите или переопределите CSS
Хотя это может оказаться трудоемким процессом, вы можете попытаться переопределить стиль@page
, хотя этот подход сложен, так как правило@page
может не отображаться даже в режимах эмуляции печати браузера. Вариантом может быть использование пользовательских стилей или временная модификация CSS через инструменты разработчика (DevTools). -
Используйте режим эмуляции в DevTools
В браузере Chrome вы можете воспользоваться инструментами разработчика для эмуляции принтового медиапотока. Для этого выполните следующие действия:- Откройте инструменты разработчика, нажав
F12
или используя комбинацию клавишCtrl+Shift+I
. - Найдите и нажмите на иконку с тремя точками (kebab menu) в правом верхнем углу инструментов.
- Выберите More Tools -> Rendering.
- Найдите опцию Emulate CSS media type и измените значение на
screen
. - После этого попробуйте напечатать документ заново с помощью встроенной функции печати.
- Откройте инструменты разработчика, нажав
Заключение
Вышеописанные методы помогут вам отрегулировать процесс печати страницы с CEIDG так, чтобы добиться соответствия формата бумаги A4 в портретной ориентации. Несмотря на то, что существуют ограничения со стороны CSS, возможность использования сторонних PDF-принтеров, переопределения стилей или применения эмуляции может значительно упростить процесс.
Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь обращаться за помощью.