1

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

Допустим, наша таблица имеет 3 страницы в ширину и 3 страницы в высоту:

+-------+
| o o o |
| o o o |
| o o o |
+-------+

Во время экспорта страницы PDF можно заказать одним из следующих двух способов:

+-------+
| 1 4 7 |
| 2 5 8 |
| 3 6 9 |
+-------+

или же

+-------+
| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
+-------+

Конечно, в PDF-файле можно увидеть только:

1
2
3
4
5
etc.

Учитывая экспортированный файл PDF, как я могу объединить / склеить страницы таким образом, чтобы у меня была полная таблица на одной странице PDF? Предположительно, эта страница будет в 3 раза больше в каждом измерении, чем одна стандартная страница.

Изменить: решение Linux предпочтительнее.

2 ответа2

1

Если у вас по-прежнему имеются необработанные данные (электронная таблица), с помощью LibreOffice вы можете просто изменить свойства страницы и указать LO Calc распечатать лист на одной огромной странице нестандартного размера. Вам придется переключаться между свойствами страницы и представлением "Разрыв страницы", чтобы проверить, достаточно ли велик размер страницы для области данных вашего листа.

Чтобы настроить соответствующие параметры, выберите Format меню -> Page... На вкладке « Page » в поле « Format выберите « User и установите размеры страницы вручную:

На вкладке «Лист» вы можете дополнительно установить выходное масштабирование, чтобы разместить содержимое на одной странице:

Вы можете использовать это, если есть максимальный размер, полученный PDF не должен превышать.

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

Протестировано с LO Calc 5.1.2.2 - в более старых версиях LO структура и диалоги меню могут отличаться.

1

Чтобы "склеить", например, файл PDF формата А4, чтобы разместить несколько страниц на одной огромной странице, вы можете использовать отличный инструмент Davidjh от PDFjam. Обычно он входит в большинство дистрибутивов Linux. Например, в Linux Mint установите пакет texlive-extra-utils , чтобы иметь доступ к PDFjam.

С установленным PDFjam вы можете преобразовать PDF, содержащий 9 страниц PDF формата A4 (A4: 21x29,7 см), используя следующую команду:

pdfjam --nup 3x3 --papersize '{63cm,89cm}' --noautoscale true \ <Inputfile> --outfile <outputfile>

--nup 3x3 указывает PDFjam упорядочить входные страницы PDF в три столбца и три строки на каждой выходной странице. Опция --papersize определяет - как и положено - нестандартный размер бумаги. Вы можете установить --noautoscale в false, чтобы позволить PDFjam автоматически масштабировать страницы.

В PDFjam ReadMe есть хороший пример для обрезки входных страниц перед их объединением, чтобы удалить любые поля страницы:

pdfjam myfile.pdf --trim '1cm 2cm 1cm 2cm' --clip true --outfile /dev/stdout | \
  pdfnup --frame true --outfile myoutput.pdf

Конечно, вам придется адаптировать вызов pdfnup соответствии с вашими потребностями или заменить его командой pdfjam как это было предложено.

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

РЕДАКТИРОВАТЬ:

По умолчанию PDFjam упорядочивает входные страницы по строкам, например

+-------+
| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
+-------+

Вместо этого расположите входные страницы в столбцах (см. Выше: первый выходной формат упомянут в вопросе):

+-------+
| 1 4 7 |
| 2 5 8 |
| 3 6 9 |
+-------+

потребуется опция --column true.

Из документации pdfpages:

Pdfpages обычно использует макет « row-major », где последовательные страницы размещаются в ряды вдоль бумаги. Параметр column изменяет вывод в макет « column-major », где последовательные страницы располагаются в столбцах вниз по бумаге. Либо « true », либо « false » (или нет значения, эквивалентного « true »). (По умолчанию: column=false)

Таким образом, для ввода на основе столбцов, просто используйте

pdfjam --nup 3x3 --column true --papersize '{63cm,89cm}' --noautoscale true \ <Inputfile> --outfile <outputfile>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .