Как распечатать документ в формате а3 на астра линукс

Обновлено: 07.07.2024

Информация, приведенная в данной статье вряд-ли станет полезной для заядлых линуксоидов. Но для новичков, которые решили установить у себя операционную систему Linux и пощупать - что же она из себя представляет будет вполне полезной.

Давайте проанализируем - что нужно пользователю в первую очередь. Рядовому пользователю. Это просмотр фильмов, работа с документами, электронная почта и, в принципе, все. Здесь мы рассмотрим установку аналога Microsoft Word в Linux. Это всем известный проект LibreOffice.

Если назвать сейчас это название кому-то, возможно он и не поймет о чем идет речь. Этих людей, можно условно поделить на две части. Первая - часть, которая никогда не сталкивалась с Linux, открытым ПО и также никогда не пользовалась. Вторая часть - те, которые пользовались, но помнят, что аналогом Microsoft Word в линуксе является OpenOffice.

Стоит успокоить вторую группу людей - проект OpenOffice и LibreOffice можно считать единым целым . Конечно достаточно условно т.к. это два совершенно разных отдельных проекта с формальной точки зрения. Но фактически, разработчики, работавшие на старом проекте перешли на новый. Таким образом пользователи имеют возможность продолжать пользоваться привычным программным обеспечением, правда под видоизмененным (если брать их точку зрения) названием.

Процесс установки достаточно прост. Чтобы установить аналог Word-а - просто пройдите по ссылке в начале статьи. Там достаточно хорошо описан процесс установки.

Если говорить о сравнении "оригинала" и "аналога" то нужно сказать, что они мало чем отличаются до тех пор, пока не понадобятся специфические функции. К примеру, если рисовать графику, то вы часто можете встретить проблему с переносом файлов, в случае, если они предназначены для ворда и наоброт.

Если брать общий вывод об использовании LibreOffice - наверное проще всего сформулировать это в следующем: если вы хотите использовать данный пакет - используйте его на своем компьютере, для печати и для переноса на компьютер, который читает родной для этого офиса формат. Если же нужно профессионально использовать все возможности - тут уже каждый должен принять решение для себя. Портирование документов между системами - задача не очень простая и тут сложно давать какие-либо рекомендации. Поэтому используйте на свой страх и риск. Хотя, если вам не требуются какие-то специфически фичи - никаких проблем возникнуть не должно.







Сейчас просто экспортируем в pdf и будем печатать его c помощью Okular — это стандартный просмотрщик pdf в окружении kde.





Как видите, из тех размеров, что предлагаются в списке, мне ничего не подходит. А задать свой произвольный размер нет возможности (вариант «особый»/«custom» хоть и присутствует, но почему-то не выбирается).

Я стал гуглить, как быть в такой ситуации. Нашёл видео как такая задача решается на windows. Там есть очень заморочный способ, через множество кликов в окнах нужно добраться до определённого поля, которое без этого видео просто так не найдёшь. Но, тем не менее, такая возможность на винде есть.

А что насчёт линукса? Сколько я не искал, ничего подобного не нашёл.

Конечно, на ум сразу приходит такой костыль как пересоздание документа таким образом, чтобы он располагался сверху на странице обычного размера A4. И при распечатке он как раз попадал бы на нужное место. Но во-первых для это надо снова возиться с форматированием документа, а во-вторых интересно же разобраться как сделать по-нормальному. Я начал разбираться, и пришёл к тому, что мне надо переписать драйвер принтера.

Каждый принтер имеет свой так называемый драйвер — файл ppd. Это по сути просто текстовый файл с определённым синтаксисом, который описывает возможности принтера, в том числе какие размеры бумаги он поддерживает.

Давайте найдём файл, который описывает мой принтер. У меня принтер от компании hp и я устанавливал в систему специальный пакет (hplip), который содержит драйверы для их принтеров. В моём случае драйвера лежат в /usr/share/ppd/HP.





Правда они gzip'нуты, поэтому нужно распаковать мой драйвер. Давайте же откроем наш файл и посмотрим, что внутри.

Немного изучив структуру файла, вы можете догадаться, как добавить сюда бумагу своего размера, либо же вы можете изменить значения какого-либо не интересующего вас формата бумаги. Я всё же добавлю свой.

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

В этих файлах используются свои единицы измерения — postscript поинты. Каждый такой поинт равен 1/72 дюйма. Нас же интересуют миллиметры. Давайте вычислим коэффициент, на который будем умножать наши миллиметры для перевода в postscript поинты. В дюйме 25,4 мм. Выражая миллиметры, получаем коэффициент равный 72/25.4, т. е. примерно 2,834. Переведём длину и ширину бумаги нашего формата из мм в поинты:

100 * 2,834 = 283,4 поинтов,
200 * 2,834 = 566,8 поинтов.

Таким образом, на языке PostScript размер бумаги будет описываться числами 283 и 566.

Отлично, теперь нужно добавить описание нашей бумаги в этот файл. Сделать это нужно в четырёх местах. Всё по аналогии с уже существующими форматами, просто дописываем свой.
PageSize, PageRegion, ImageableArea, PaperDimension.

Я подробно не изучал что описывают эти параметры, но, как вы могли заметить, везде, кроме параметра ImageableArea, указаны одинаковые размеры. А в строках ImageableArea два раза подряд идёт цифра 12, а затем размер бумаги, уменьшенный на 12 поинтов. Я догадываюсь, что этот параметр отвечает за зону, в которой принтер способен печатать. Если перевести 12 поинтов в мм, то получится примерно 4,2 мм. Скорее всего — это пространство перекрываемое колёсиками, которыми принтер втягивает бумагу. Давайте впишем наши значения, которые мы тоже уменьшим на 12. Теперь сохраняем файл.

Хочется скорее попробовать установить его в качестве драйвера принтера, но не торопитесь. Давайте сначала проверим файл утилитой cupstestppd. Как видите, у нас нет переводов названия формата бумаги. Их нужно создать для каждого языка. Мне честно говоря это совсем не нужно, но правила есть правила. Без их соблюдения файл считается некорректным. Если совсем не хочется заморачиваться, можно просто закомментировать строку cupsLanguages. Но я всё же создам эти переводы. Точнее сказать, я создам только строки переводов.

Создали все переводы и проверим файл ещё раз. Файл корректный. На ворнинги внимания можете не обращать, они просто указывают, как надо назвать формат бумаги по канонам компании Adobe. Я думаю, ничего страшного в нарушении этого канона нет, так как его нарушали уже даже существовавшие в этом файле форматы.

Давайте уже перейдём к настройкам принтера. Если у вас спрашивают рутовый пароль, добавьте себя в группу sys, так будет гораздо удобнее. Теперь в качестве драйвера принтера указываем наш файл. Похоже, теперь можно будет без проблем печатать на нашей бумаге. Но, не всё так просто.

Если сейчас попробовать что-то напечатать на нашей бумаге, у нас ничего не получится. Мы видим наш размер бумаги в списке, но не можем выбрать его. Это, очевидно, баг. Опытным путём я смог добиться выставления здесь нашего размера. Для этого в настройках принтера надо указать наш размер бумаги в качестве дефолтного. Вот теперь мы действительно можем выбрать наш размер бумаги и напечатать на нём.

Раздел "Ограничение отображения сетевых принтеров в LibreOffice" применим только к
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (очередное обновление 7)

Пользователь, от имени которого будут выполняться действия по настройке принтеров, должен быть добавлен в группу lpadmin.

Для удаленного использования сервера печати необходимо от имени администратора через механизм sudo выполнить следующие команды:

sudo cupsctl --remote-admin --share-printers --remote-any

sudo cupsctl ServerAlias=*

В конфигурационном файле /etc/cups/cupsd.conf рекомендуется удалить следующую строку:

и вставить следующую строку:

Значение параметра DefaultAuthType должно быть Basic.

Перезапустить сервис печати CUPS командой:

sudo service cups restart

Проверить состояние сервиса печати CUPS можно командой:

Для дальнейшей настройки открыть браузер и ввести адрес:

Нажать кнопку "Добавить принтер", на запрос авторизации ввести имя и пароль пользователя, входящего в группу lpadmin.

При установке USB-принтер должен отображаться в списке устройств на странице Добавить принтер .

Убедитесь в правильности настроек, нажав на кнопку Print Test Page ( Печать тестовой страницы ) в выпадающем меню Maintenance ( Обслуживание ). Если принтер не печатает, но вы уверены в правильности всех настроек, попытайтесь сменить драйвер принтера на другой.

Печать файла можно выполнить командой:

Добавление сетевого принтера из командной строки можно выполнить командой:

lpadmin -p printername -E -v socket://11.22.33.44 -m drv:///sample.drv/laserjet.ppd

Раздел "Ограничение отображения сетевых принтеров в LibreOffice" применим только к Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (очередное обновление 7)

По умолчанию при выборе устройства печати в LibreOffice (Файл - Печать - Принтер) в списке устройств отображаются все обнаруженные сетевые принтеры. Для того, чтобы в списке доступных устройств отображались только принтеры, добавленные через менеджер печати Fly, нужно добавить в файл /etc/cups/client.conf строчку:

после чего перезапустить службу cups:

Для централизованного управления можно копировать файлы /etc/cups/printers.conf и /etc/cups/ppd/* с компьютера с настроенным принтером на удаленный компьютер при помощи scp:

Пользователь, от которого будут выполняться действия по настройке принтеров, должен быть добавлен в группу lpadmin.
Пользователь, от которого будут выполняться действия по маркировке заданий, должен быть добавлен в группу lpmac ( groupadd -g 900 lpmac если не создана).
Это может быть один и тот же пользователь.

Для удаленного использования сервера печати необходимо от имени администратора через механизм sudo выполнить следующие команды:

sudo cupsctl --remote-admin --share-printers --remote-any
sudo cupsctl ServerAlias=*

В конфигурационном файле /etc/cups/cupsd.conf рекомендуется удалить следующую строку:

и вставить следующую строку:

Значение параметра DefaultAuthType должно быть Basic.
Далее выполнить вход на сервере печати от имени учетной записи, входящей в группу lpadmin, и настроить принтеры (установить политику parsec и назначить максимальные допустимые уровни заданий). Настройка принтеров может быть выполнена с использованием утилиты fly-admin-printer (см. электронную справку).

Пользователь, от которого будут выполняться действия по настройке принтеров, должен быть добавлен в группу lpadmin.
Пользователь, от которого будут выполняться действия по маркировке заданий, должен быть добавлен в группу lpmac.
Это может быть один и тот же пользователь.
Для удаленного использования сервера печати необходимо от имени администратора через механизм sudo выполнить следующие команды:

sudo cupsctl --remote-admin --share-printers --remote-any
sudo cupsctl ServerAlias=*

В конфигурафионном файле /etc/cups/cupsd.conf рекомендуется удалить следующие строки:

и вставить следующую строку:

Значение параметра DefaultAuthType должно быть Basic.
Далее выполнить вход на сервере печати от имени учетной записи, входящей в группу lpadmin, и настроить принтеры (установить политику parsec и назначить максимальные допустимые уровни заданий). Настройка принтеров может быть выполнена с использованием утилиты fly-admin-printer (см. электронную справку).

На клиентских машинах должны быть созданы файлы /etc/cups/client.conf. В файле конфигурации клиента client.conf должен быть задан один параметр ServerName, определяющий имя сервера печати, например:

Для выполнения действий по управлению принтерами и очередями печати необходимо создать в ALD учетную запись группы администраторов печати:

Для выполнения действий по маркировке заданий необходимо создать в ALD группу

  • lpmac_ald (только для версии Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) и при использовании в домене ALD);
  • lpmac (для всех остальных версий ОС Astra Linux Special Edition)

sudo ald-admin group-add lpmac_ald

sudo ald-admin group-add lpmac

В файле /etc/cups/cups-files.conf в значении параметра SystemGroup установить значение print_admins.
Создать в ALD учетную запись администратора печати и добавить ее в группу администраторов печати ALD, например выполнив команды:

sudo ald-admin user-add ald_print_admin
sudo ald-admin group-mod print_admins --add-users --user=ald_print_admin

Добавить администратора печати в группу

  • lpmac_ald (только для версии ОС Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) и при использовании в домене ALD);
  • lpmac (для всех остальных версий ОС Astra Linux Special Edition)

sudo ald-admin group-mod lpmac_ald --add-users --user=ald_print_admin

sudo ald-admin group-mod lpmac --add-users --user=ald_print_admin

Для обеспечения совместной работы сервера печати с ALD необходимо:
1) создать в БД ALD с помощью утилиты администрирования ALD принципала, соответствующего серверу печати. Принципал создается с автоматически сгенерированным случайным ключом:

2) ввести созданного принципала в группу сервисов mac, используя следующую команду:

sudo ald-admin sgroup-svc-add ipp/server.my_domain --sgroup=mac

3) создать файл ключа Kerberos для сервера печати с помощью утилиты администрирования ALD ald-client, используя следующую команду:

4) от имени учетной записи администратора с использованием механизма sudo выполнить следующие команды:

sudo cupsctl --remote-admin --share-printers --remote-any
sudo cupsctl ServerAlias=*
sudo cupsctl DefaultPolicy=default
sudo cupsctl MarkerUser=ipp
sudo cupsctl ServerName=server.my_domain
sudo cupsctl MacEnable=On
sudo cupsctl DefaultAuthType=Negotiate

5) осуществить перезапуск сервиса печати CUPS, выполнив команду:

sudo service cups restart

Далее выполнить вход на сервере печати от имени учетной записи, входящей в группу ALD print_admins, и настроить принтеры (установить политику parsec и назначить максимальные допустимые уровни заданий). Настройка принтеров может быть выполнена с использованием утилиты fly-admin-printer (см. электронную справку).

На клиентских машинах должны быть созданы файлы /etc/cups/client.conf. В файле конфигурации клиента client.conf должен быть задан один параметр ServerName, определяющий имя сервера печати, например:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным оперативным обновлением БЮЛЛЕТЕНЬ № 20211008SE16 (оперативное обновление 9);
  • Astra Linux Common Edition 2.12.43.

в систему управления печатью добавлены следующие возможности:

    Возможность ограничения пользователем видимости заданий других пользователей: опция "Только текущего пользователя" в меню списка заданий. Опция включает отображений заданий только текущего пользователя. Все другие задания будут скрыты;

Возможность принудительного ограничения администратором видимости пользователями заданий других пользователей. Для включения этой возможности добавить в файл /etc/cups/cupsd.conf строку:

и осуществить перезапуск сервиса печати CUPS. В результате включения этой опции пользователям будут разрешено видеть только свои задания.

Оригинал: Printing from the Linux command line
Автор: Sandra Henry-Stocker
Дата публикации: 20 марта 2019 года
Перевод: А. Кривошей
Дата перевода: апрель 2016 г.

Печать из командной строки Linux очень проста. Вы используете команду lp, чтобы запросить печать, и lpq, чтобы увидеть, какие задания на печать находятся в очереди, но все становится немного сложнее, когда вы хотите печатать на двух сторонах листа или в портретном режиме. И есть много других вещей, которые вы можете захотеть сделать - например, распечатать несколько копий документа или отменить задание на печать. Давайте проверим некоторые опции, чтобы, когда вы печатаете из командной строки, ваши распечатки выглядели именно так, как вы хотите.

Вывод параметров принтера

Чтобы просмотреть настройки принтера из командной строки, используйте команду lpoptions. Вывод должен выглядеть примерно так:

Этот вывод, вероятно, будет немного более дружественным к человеку, если вы превратите его пробелы в возврат каретки. Обратите внимание, сколько настроек указано в списке.

ПРИМЕЧАНИЕ. В приведенном ниже выводе некоторые строки были повторно связаны, чтобы сделать этот вывод более читабельным.

С опцией -v команда lpinfo выведет список драйверов и связанной с ними информации.

Команда lpoptions покажет настройки вашего принтера по умолчанию. Используйте параметр -p, чтобы указать один из нескольких доступных принтеров.

Команда lpstat -p отображает состояние принтера, а команда lpstat -p -d также выводит список доступных принтеров.

Полезные команды

Чтобы распечатать документ на принтере по умолчанию, просто используйте команду lp, а затем имя файла, который вы хотите распечатать. Если имя файла содержит пробелы (что редко встречается в системах Linux), либо поместите имя в кавычки, либо начните вводить имя файла и нажмите клавишу табуляции, чтобы вызвать завершение файла (как показано во втором примере ниже).

Команда lpq отображает очередь печати.

Команда lp с опцией -n позволяет вам указать количество копий, которое вы хотите напечатать.

Чтобы отменить задание на печать, вы можете использовать команду cancel или lprm. Если вы не будете действовать быстро, то можете увидеть это:

Двусторонняя печать

Чтобы печатать в двухстороннем режиме, вы можете ввести команду lp с параметром sides, в котором указано, как печатать на обеих сторонах листа, и вид переплета (сбоку или сверху). Этот параметр представляет обычный способ, при которым вы получите двусторонний документ в портретном режиме.

Если вы хотите, чтобы все ваши документы печатались в двухстороннем режиме, вы можете изменить настройки lp для sides с помощью команды lpoptions.

Чтобы вернуться к односторонней печати, вы должны использовать такую команду:

Печать в ландшафтном режиме

Для печати в ландшафтном режиме вы должны использовать параметр landscape с командой lp.

Система печати, используемая в системах Linux, - это основанная на стандартах система печати с открытым исходным кодом, называемая CUPS, первоначально обозначавшая Common Unix Printing System. Она позволяет компьютеру выступать в качестве сервера печати.

Такая, казалось бы, простая операция как печать документа, оказывается, скрывает в себе очень много нюансов и скрытых возможностей. Ниже, подробно расскажу про функции и возможности печати из LibreOffice Writer и LibreOffice Calc. Разберём, как уместить таблицу Calc на одном листе, как повернуть в альбомный вид, задать область печати.

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

Печатаем из текстового редактора Writer

Откройте текстовый документ из скачанного архива.

Для того, чтобы распечатать документ нужно нажать на соответствующую кнопку на панели (1) или в главном меню выбрать Файл -> Печать (2), или просто нажать CTRL+P на клавиатуре:

libreoffice печать

Откроется окно печати, которое состоит из следующих вкладок:

  • Общие. Можно выбрать принтер, указать количество копий, задать номера страниц, которые нужно напечатать (перечислить через запятую, например 1,3,5 или указать диапазон 1-5,7,9). Кнопка Свойства открывает свойства выбранного принтера.

libreoffice печать общие

  • На вкладке LibreOffice Writer можно задать элементы страницы, которые нужно напечатать или отключить, например изображения или скрытый текст.

libreoffice печать Writer

  • На вкладке Макет страницы можно задать количество страниц на листе, порядок печати, брошюровку.

libreoffice печать Макет страницы

  • Вкладка Настройки (которая в 99% случаев не понадобится)

Если хотите посмотреть, как будет выглядеть документ перед печатью нажните на кнопку предварительный просмотр или сочетание CTRL+SHIFT+O

libreoffice печать предварительный просмотр

Печатаем из редактора таблиц Calc

Скачайте архив в начале статьи и откройте таблицу.

Если вы попробуете распечатать предложенную мной таблицу, то она у вас получится на 2-х листах. Увидеть это можно нажав кнопку Вид – Разметка страницы.

libreoffice calc печать на 1 странице

Синяя линия между 6 и 7 столбцами, как раз и показывает это. Выхода два:

  1. Захватить линию мышкой и переместить к правому краю. Если получится, то линия пропадёт, и две страницы превратятся в одну.
  2. Через предварительный просмотр печати уменьшить масштаб и раздвинуть поля.

libreoffice calc печать предварительный посмотр

LibreOffice Calc формат страницы

Открыв предварительный просмотр (1), нажмите на кнопку формат страницы (2). Откроется окно настройки стиля страницы.

libreoffice calc формат страницы

.Сразу переходим на вкладку управление, где можно задать поля, книжный или альбомный вид и др. основные параметры.

libreoffice calc Стиль страницы

На следующих вкладках можно задать обрамление, фон, включить и выключить колонтитулы (о колонтитулах подробнее в этой статье).

libreoffice calc отформатированная страница

Вот так теперь выглядит страница при печати. Крупная и легко читаемая.

Если нужно распечатать не всю таблицу целиком, а только часть, то нужно задать область печати.

Для этого выделите нужные ячейки мышью и нажмите кнопку Задать область печати. Далее нажмите предварительный просмотр и убедитесь, что всё получилось.

Читайте также: