Как я могу извлечь диапазон страниц / часть PDF?

Есть ли у вас идеи, как извлечь часть документа PDF и сохранить его в формате PDF? На OS X это абсолютно тривиально, используя Preview. Я пробовал редактор PDF и другие программы, но безрезультатно.

Мне нужна программа, в которой я выбираю нужную деталь, а затем сохраняю ее в формате PDF с помощью простой команды, например CMD + N в OS X. извлеченная часть должна быть сохранена в формате PDF, а не в формате JPEG и т. д.

424
задан 23.09.2019, 13:47

13 ответов

QPDF отлично. Используйте его таким образом, чтобы извлечь страницы 1-10 из input.pdf и сохранить как output.pdf.

qpdf --pages input.pdf 1-10 -- input.pdf output.pdf

Обратите внимание, что input.pdf написано дважды.

Вы можете установить его: 1114] Это отличный инструмент для манипулирования PDF, который очень быстр, имеет очень мало зависимостей. «Он может зашифровать и линеаризовать файлы, раскрыть внутреннюю часть файла PDF и выполнить множество других операций, полезных для конечных пользователей и разработчиков PDF». /

71
ответ дан 16.10.2019, 15:35
  • 1
    Единственная проблема, которую я имел с этим, это - все еще списки все страницы в оглавлении, несмотря на больше всего удаляемый. Кроме, блестящий Спасибо!:) – Ohad Horesh 10.11.2015, 16:24
  • 2
    Большое программное обеспечение. Хороший – Ohad Horesh 04.08.2016, 14:42
  • 3
    Предупреждение - Файлы все огромны.. о том же размере как оригинал. – jeffora 27.11.2018, 02:50
  • 4
    Один из наилучших вариантов, с тех пор qpdf устойчив и doesn' t изменяются (субдискретизируйте изображения и т.д.), содержание файла PDF. – Vitalii Pshenychniuk 29.11.2018, 19:52
  • 5
    Работы, но тот синтаксис для определения страниц (перечисляющий входной файл дважды, затем добавляя --) являются действительно странными. – Peter Mortensen 23.02.2019, 03:43
  • 6
    - флаг страниц позволяет Вам соединять страницы от нескольких PDFs. Обратите внимание, что можно постараться не копировать имя при помощи . вместо входного файла в - опции страниц: qpdf --pages . 1-10 -- input.pdf output.pdf. – jeffora 09.05.2019, 02:40

pdftk - это полезный многоплатформенный инструмент для работы ( pdftk homepage ).

pdftk full-pdf.pdf cat 12-15 output outfile_p12-15.pdf

вы передаете имя файла основного файла PDF, затем говорите, что он включает только определенные страницы (в данном примере 12-15) и выводит его в новый файл.

477
ответ дан 16.10.2019, 15:35
  • 1
    Если я хочу извлечь страницы 1-10, 15, и 17, как я пишу команду? – Ted Gulesserian 12.10.2016, 11:26
  • 2
    @PatrickLi pdftk A=in.pdf cat A1-10 A15 A17 output out.pdf – Florian 28.10.2016, 15:06
  • 3
    Обратите внимание, что pdftk не доступно в Ubuntu 18.04. (см. askubuntu.com/questions/1028522/… ) – Sotti 30.06.2018, 15:05
  • 4
    @alkamid это: защелка sudo устанавливает pdftk – Jordy 23.09.2018, 21:51
  • 5
    Хотя pdftk, конечно, инструмент, который может сделать задание, я рекомендовал бы против него. Это не бесплатное программное обеспечение, но неуклюжая часть условно-бесплатного программного обеспечения. Также этому нужна JVM. Более разумный инструмент qpdf, как предложен в другом ответе . – Gerson C Filho 13.11.2018, 15:11

Существует утилита командной строки под названием pdfseparate .

Из документов:

pdfseparate sample.pdf sample-%d.pdf

extracts  all pages from sample.pdf, if i.e. sample.pdf has 3 pages, it
   produces

sample-1.pdf, sample-2.pdf, sample-3.pdf

Или, чтобы выбрать одну страницу (в данном случае, первую страницу) из файла sample.pdf:

pdfseparate -f 1 -l 1 sample.pdf sample-1.pdf
27
ответ дан 16.10.2019, 15:35
  • 1
    большой инструмент! намного быстрее, чем pdftk – Guy 08.04.2015, 08:57
  • 2
    Хороший, но это только ограничено одной страницей, и если Вы хотите больше, чем которые, Вы получите отдельные страницы. – Himmet Avsar 09.09.2015, 10:19
  • 3
    Несомненно, хотя можно следовать за вышеупомянутой командой с pdfunite для представления единого документа. – Zachary 09.09.2015, 18:22
  • 4
    Если у Вас есть огромный документ и потребность разделить все страницы, это действительно быстро и полезно. – Fillype Farias 27.04.2016, 13:32

Сохраните это как скрипт оболочки, например, pdfextractor.sh:

#!/bin/bash
# this function uses 3 arguments:
#     $1 is the first page of the range to extract
#     $2 is the last page of the range to extract
#     $3 is the input file
#     output file will be named "inputfile_pXX-pYY.pdf"
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER \
   -dFirstPage=${1} \
   -dLastPage=${2} \
   -sOutputFile=${3%.pdf}_p${1}-p${2}.pdf \
   ${3}

Для запуска введите:

./pdfextractor.sh 4 20 myfile.pdf

1) 4 относится к странице, на которой запустится новый pdf .

2) 20 относится к странице, на которой будет заканчиваться PDF.

3) myfile.pdf - это файл PDF, который вы хотите извлечь.

Выводом будет myfile_p4_p20.pdf в том же каталоге, что и исходный файл PDF.

Все это и дополнительная информация здесь: Tech Tip

43
ответ дан 16.10.2019, 15:35
  • 1
    Let' s сохраняют его простым: gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dFirstPage=1 -dLastPage=10 -sOutputFile=output.pdf input.pdf – Graviton 09.09.2015, 10:14
  • 2
    и Как я определяю входной файл? – Peter Mortensen 04.08.2016, 13:53
  • 3
    - 1 для того, чтобы сделать расширение параметра удара вне дважды заключенной в кавычки строки. (должен быть "-sOutputFile=${3%.pdf}_p${1}-p${2}.pdf" и т.д. (отметьте кавычки)). – RealSkeptic 21.01.2017, 18:16
  • 4
    @Ho1 запишите его как новый ответ, это действительно помогает! – Anton Babenko 03.10.2018, 21:36
  • 5
    Это - самый портативный ответ, поскольку ghostscript, вероятно, будет установлен в значительной степени где угодно. – Lorne Laliberte 13.06.2019, 18:43

pdftk (sudo apt-get install pdftk) - отличный инструмент командной строки для работы с PDF. Вот несколько примеров того, что может сделать pdftk:

   Collate scanned pages
     pdftk A=even.pdf B=odd.pdf shuffle A B output collated.pdf
     or if odd.pdf is in reverse order:
     pdftk A=even.pdf B=odd.pdf shuffle A Bend-1 output collated.pdf

   Join in1.pdf and in2.pdf into a new PDF, out1.pdf
     pdftk in1.pdf in2.pdf cat output out1.pdf
     or (using handles):
     pdftk A=in1.pdf B=in2.pdf cat A B output out1.pdf
     or (using wildcards):
     pdftk *.pdf cat output combined.pdf

   Remove page 13 from in1.pdf to create out1.pdf
     pdftk in.pdf cat 1-12 14-end output out1.pdf
     or:
     pdftk A=in1.pdf cat A1-12 A14-end output out1.pdf

   Burst a single PDF document into pages and dump its data to
   doc_data.txt
     pdftk in.pdf burst

   Rotate the first PDF page to 90 degrees clockwise
     pdftk in.pdf cat 1east 2-end output out.pdf

   Rotate an entire PDF document to 180 degrees
     pdftk in.pdf cat 1-endsouth output out.pdf

В вашем случае я бы сделал:

     pdftk A=input.pdf cat A<page_range> output output.pdf
19
ответ дан 16.10.2019, 15:35
  • 1
    Пакет ' pdftk' не имеет никакого кандидата установки – Douglas Ianitsky 21.10.2018, 06:02

очень просто, использовать программу чтения PDF по умолчанию:

распечатать как файл. вот оно что! print menu

, затем

setting new PDF

246
ответ дан 16.10.2019, 15:35
  • 1
    блестящий Флиппин – Maxdestroyer 22.12.2014, 19:28
  • 2
    Приводит к катастрофическим результатам с beamer файлами, картами и любыми другими документами, которые не соответствуют формату страницы принтера. – weiy 13.01.2015, 15:48
  • 3
    Это может привести к файлу с намного большим размером, чем оригинал документа. – Prashant Maheshwari Andro 08.12.2015, 19:06
  • 4
    таким образом, это не делает " extract" диапазон страницы. Это создает новый PDF из старого, как будто Вы использовали пару принтера/сканера высокой четкости. – Dr. Hasan Hashem 11.08.2016, 12:36
  • 5
    Хороший для простых случаев, но нежелательных результатов в документах с выделением комментариев: выделение становится 100%-й непрозрачностью и блокирует текст. –  16.10.2016, 23:30

Я пытался сделать то же самое. Все, что вам нужно сделать, это:

  1. установить pdftk:

    sudo apt-get install pdftk
    
  2. , если вы хотите извлечь случайные страницы:

    pdftk myoldfile.pdf cat 1 2 4 5 output mynewfile.pdf
    
  3. , если вы хотите извлечь диапазон:

    pdftk myoldfile.pdf cat 1-2 4-5 output mynewfile.pdf
    

Пожалуйста, проверьте источник для получения дополнительной информации. [ 1113]

8
ответ дан 16.10.2019, 15:35
  • 1
    Я нахожу этот ответ лучше всего, потому что он показывает, как можно ввести несколько диапазонов. – Eamonn Kenny 07.11.2018, 10:41

Вы пробовали PDF Mod?

Вы можете, например .. извлечь страницы и сохранить их как PDF.

Описание:

PDF Mod - это простой инструмент для изменения PDF-документов. Он может вращать, извлекать, удалять
и изменять порядок страниц с помощью перетаскивания. Несколько документов могут быть объединены с помощью перетаскивания
и перетаскивания. Вы также можете редактировать заголовок, тему, автора и ключевые слова документа PDF
с помощью PDF Mod.

Install via the software center

Надеюсь, это будет полезно.

Regars.

8
ответ дан 16.10.2019, 15:35
  • 1
    ДА, я на самом деле попробовал его, но это НЕ позволяет мне сохранять часть страницы, например, графика как PDF... Если я не вижу опции. Это позволяет мне извлекать целую страницу из документа, но это не то, что я хочу – Bill the Lizard 26.11.2012, 04:21
  • 2
    Я регулярно использую его, большой инструмент! но у меня был документ приблизительно с 170 страницами, которые не мог обработать pdfmod. – Alexander Mills 16.10.2016, 23:54
  • 3
    Ничего себе. Это удивительно гладко. Бросил мою реальную книгу на 512 страниц в него (50 МиБ), и это... была подсказка. UI является бризом. Для наркомана CLI как я требуется некоторый уровень GUI для убеждения меня, но это сделает! – Ed S. 12.10.2017, 09:50
  • 4
    Модификация PDF имеет ошибки, работающие в Kubuntu 18 – Adam Rosenfield 03.10.2018, 21:37

Диапазон страниц - скрипт Nautilus


Обзор

Я создал немного более продвинутый скрипт на основе учебника @ThiagoPonte, с которым связано. Его основными особенностями являются

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

Скриншот

enter image description here

Код

[110 ]

Установка

Пожалуйста, следуйте универсальным инструкциям по установке скриптов Nautilus . Внимательно прочитайте заголовок сценария, так как это поможет уточнить установку и использование сценария.


Частичные страницы - PDF Shuffler


Обзор

PDF-Shuffler - это небольшое приложение на python-gtk, которое помогает Пользователь может объединять или разделять PDF-документы и вращать, обрезать и изменять их страницы с помощью интерактивного и интуитивно понятного графического интерфейса. Это интерфейс для python-pyPdf.

Установка

sudo apt-get install pdfshuffler

Использование

PDF-Shuffler может обрезать и удалять отдельные страницы PDF. Вы можете использовать его для извлечения диапазона страниц из документа или даже частичных страниц, используя функцию обрезки:

enter image description here


Элементы страницы - Inkscape

< hr>

Обзор

Inkscape - очень мощный редактор векторной графики с открытым исходным кодом. Он поддерживает широкий спектр различных форматов, включая файлы PDF. Вы можете использовать его для извлечения, изменения и сохранения элементов страницы из файла PDF.

Установка

sudo apt-get install inkscape

Использование

1.) Откройте файл PDF на ваш выбор с помощью Inkscape , Откроется диалоговое окно импорта. Выберите страницу, с которой вы хотите извлечь элементы. Оставьте остальные настройки такими, как они есть:

enter image description here

2.) В Inkscape щелкните и перетащите, чтобы выбрать элемент (элементы), который вы хотите извлечь:

enter image description here

3.) Инвертировать выделение с помощью ! и удалить выделенный объект с помощью УДАЛИТЬ :

enter image description here

4.) Обрезать документ до оставшихся объектов, используя Свойства документа [114 ] диалог с CTRL + SHIFT + D и выбором «подгонки документа к изображению»:

enter image description here

5.) Сохраните документ в виде файла PDF из диалогового окна Файл -> Сохранить как :

6.) Если в вашем обрезанном документе есть растровые / растровые изображения, вы можете установить их DPI в появившемся диалоговом окне:

enter image description here

7.) Если вы выполните все шаги, вы получите настоящий PDF-файл, который состоит только из объекты на ваш выбор:

enter image description here

79
ответ дан 16.10.2019, 15:35

PDF Split and Merge весьма полезен для этой и других операций с PDF.

Скачать с здесь

2
ответ дан 16.10.2019, 15:35
  • 1
    Можно загрузить последнюю версию со ссылки выше, но если Вы предпочитаете удобство Центра программного обеспечения, можно также установить его оттуда (или от терминала, до sudo apt-get install pdfsam). Однако версия в Ubuntu довольно устарела, как it' s все еще в версии 1.1.4 , тогда как версия SourceForge уже 2.2.2. – Ciro Santilli 新疆改造中心996ICU六四事件 14.02.2014, 20:00
  • 2
    Последнее 3.x (в настоящее время 3.1.0) имеет .deb пакет , который может быть установлен на Ubuntu и имеет модуль Страниц Извлечения, который делает что OP, который спрашивают – Jotorious 06.08.2016, 11:25
  • 3
    @Andrea Vacondio Bravo для Вашего превосходного редактирования! You' ре, помогающее сделать Интернет безопасным. Я узнал, что файл из старой ссылки по sourceforge.net имеет дерьмо, встроенное в него. Новые владельцы веб-сайта SourceForge сказали, что они собирались прекратить делать это, но очевидно они лгали. – Peter Perháč 06.08.2016, 11:41

Если вы хотите извлечь из ваших PDF-файлов, вы можете использовать http://www.sumnotes.net . Это удивительный инструмент для извлечения заметок, основных моментов и изображений из PDF-файлов. Вы также можете посмотреть учебники на Youtube, набрав sumnotes.

Надеюсь, вам понравится!

0
ответ дан 16.10.2019, 15:35

Поскольку первоначальный пользователь попросил интерактивный инструмент, а не инструмент командной строки: простое решение состоит в том, чтобы использовать любой просмотрщик PDF (обычно в Kubuntu, evince или даже Firefox в Ubuntu), а затем просто использовать стандартный диалог печати, выберите «Печать в файл PDF», а затем выберите в расширенном диалоговом окне настроек, какие страницы «печатать». Этот вариант имеет некоторые недостатки, так как некоторые уловки в исходном PDF-файле (например, повернутые страницы, формы и т. Д.) Могут быть потеряны, но он работает просто для большинства простых PDF-файлов.

2
ответ дан 16.10.2019, 15:35

Как оказалось, я могу сделать это с imagemagick. Если у вас его нет, просто установите:

sudo apt-get install imagemagick

Примечание 1 : я пробовал это с одностраничным pdf (я учусь используйте imagemagick, поэтому я не хотел больше проблем, чем необходимо). Я не знаю, будет ли / как он будет работать с несколькими страницами, но вы можете извлечь одну интересующую страницу с помощью pdftk:

pdftk A=myfile.pdf cat A1 output page1.pdf

, где вы указываете номер страницы, которая будет выделена (в В примере выше A1 выбирает первую страницу).

Примечание 2 : Полученное изображение с использованием этой процедуры будет растровым.


Откройте PDF-файл с помощью команды display, входящей в набор imagemagick:

display file.pdf

Шахта выглядела так:

[ 1119] imagemagick display of a pdf
Нажмите на изображение, чтобы увидеть версию с полным разрешением

Теперь вы нажимаете на окно, и на экране появляется меню боковая сторона. Там выберите Transform | Crop .

imagemagick transform>crop menu

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

selection of area to crop
Обратите внимание на указатель в форме руки вокруг изображения при выборе

Этот выбор можно уточнить, прежде чем перейти к следующему шагу .

Как только вы закончите, обратите внимание на маленький прямоугольник, который появляется в верхнем левом углу (см. Изображение выше). Он показывает размеры области, выбранной сначала (например, 281x218), а затем координаты первого угла (например, +256+215).

Запишите размеры выбранной области; он понадобится вам в момент сохранения обрезанного изображения.

Теперь, вернувшись во всплывающее меню (которое теперь является определенным «обрезанным» меню), нажмите кнопку Обрезать .

imagemagick crop menu

Наконец, как только вы будете удовлетворены результатами обрезки, нажмите на меню Файл | Сохранить

Перейдите в папку, в которую вы хотите сохранить обрезанный pdf, введите имя, нажмите кнопку Формат в окне «Выберите тип формата изображения» выберите PDF и нажмите кнопку . Выберите . Вернувшись в окно «Обзор и выбор файла», нажмите кнопку Сохранить .

imagemagick save as pdf

Перед сохранением imagemagick попросит «выбрать геометрию страницы». Здесь вы вводите размеры вашего обрезанного изображения, используя простую букву «х» для разделения ширины и высоты.

imagemagick select page geometry

Теперь вы можете сделать все это отлично из командной строки (команда convert с опцией -crop) - конечно, это быстрее, но вы бы заранее знать координаты изображения, которое вы хотите извлечь. Посмотрите man convert и пример на их веб-странице .

6
ответ дан 16.10.2019, 15:35
  • 1
    DIdn' t знают о imagemagick' s GUI. Интересные взгляды. Однако исправьте меня если I' m неправильно, но я думаю imagemagick can' t дескриптор векторизовал изображения. Таким образом, что you' экспорт ре, вероятно, будет растром/растровым изображением только. В этом случае этот метод совпадает со взятием, делающим снимок экрана региона документа. – Will Rickards 19.04.2013, 11:23
  • 2
    Действительно, imagemagick работы только растровые изображения, и display всего одна команда комплекта. Существует много интерфейсов для imagemagick - проверяют их веб-страницу. Для векторных изображений лучшее решение, я думаю, Ваш метод с Inkscape. – Manuel 19.04.2013, 18:00
  • 3
    Вы могли бы хотеть добавить правовую оговорку наверху ответа как предостережение, что это преобразует от вектора до растровой графики. Это свойство делает его существенно другим подходом. – Richard 09.07.2014, 18:10