Wie kann ich einen Seitenbereich / einen Teil einer PDF extrahieren?


Zur akzeptierten Antwort gehen


Haben Sie eine Idee, wie Sie einen Teil eines PDF-Dokuments extrahieren und als PDF speichern können? Unter OS X ist die Verwendung der Vorschau absolut trivial. Ich habe versucht, PDF-Editor und andere Programme, aber ohne Erfolg.

Ich hätte gerne ein Programm, in dem ich das gewünschte Teil auswähle und es dann mit einem einfachen Befehl wie CMD+ Nunter OS X als PDF speichere. Ich möchte, dass das extrahierte Teil im PDF-Format und nicht im JPEG-Format usw. gespeichert wird.


446





2012-11-26




Anzahl der Antworten: 15


pdftk ist ein nützliches plattformübergreifendes Tool für den Job ( pdftk homepage ).

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

Übergeben Sie den Dateinamen der Haupt-PDF-Datei, geben Sie an, nur bestimmte Seiten (in diesem Beispiel 12-15) einzuschließen, und geben Sie diese in eine neue Datei aus.


492


2013-04-17

Sehr einfach. Verwenden Sie den Standard-PDF-Reader, wählen Sie "Print To File" und das wars!


Druckmenü

Dann:


Einrichten eines neuen PDF


255


2013-11-14

QPDF ist großartig. Verwenden Sie diese Methode, um die Seiten 1 bis 10 zu extrahieren input.pdf und zu speichern unter output.pdf :

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

Dadurch werden alle mit dieser Datei verknüpften Metadaten beibehalten.

Aus dem Handbuch :

Wenn Sie die Seiten 1 bis 5 von infile.pdf haben möchten, aber möchten, dass die restlichen Metadaten gelöscht werden, können Sie stattdessen ausführen

 qpdf --empty --pages infile.pdf 1-5 -- outfile.pdf
 

Sie können es installieren, indem Sie Folgendes aufrufen:

 sudo apt-get install qpdf
 

Es ist ein großartiges Tool für die PDF-Bearbeitung. Es ist sehr schnell und hat nur sehr wenige Abhängigkeiten. "Es kann Dateien verschlüsseln und linearisieren, die Interna einer PDF-Datei offenlegen und viele andere Vorgänge ausführen, die für Endbenutzer und PDF-Entwickler nützlich sind."

QPDFs Code-Repository auf GitHub .


85


2015-09-09

Seitenbereich - Nautilus-Skript


Überblick

Ich habe ein etwas fortgeschritteneres Skript erstellt, das auf dem Tutorial @ThiagoPonte basiert, das mit verknüpft ist. Seine Hauptmerkmale sind

  • dass es GUI-basiert ist,
  • kompatibel mit Leerzeichen in Dateinamen,
  • und basiert auf drei verschiedenen Backends, die in der Lage sind, alle Attribute der Originaldatei beizubehalten

Bildschirmfoto


Bildbeschreibung hier eingeben

Code

 #!/bin/bash
#
# TITLE:        PDFextract
#
# AUTHOR:       (c) 2013-2015 Glutanimate (https://github.com/Glutanimate)
#
# VERSION:      0.2
#
# LICENSE:      GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
# 
# OVERVIEW:     PDFextract is a simple PDF extraction script based on Ghostscript/qpdf/cpdf.
#               It provides a simple way to extract a page range from a PDF document and is meant
#               to be used as a file manager script/addon (e.g. Nautilus script).
#
# FEATURES:     - simple GUI based on YAD, an advanced Zenity fork.
#               - preserves _all_ attributes of your original PDF file and does not compress 
#                 embedded images further than they are.      
#               - can choose from three different backends: ghostscript, qpdf, cpdf
#
# DEPENDENCIES: ghostscript/qpdf/cpdf poppler-utils yad libnotify-bin
#                         
#               You need to install at least one of the three backends supported by this script.
#
#               - ghostscript, qpdf, poppler-utils, and libnotify-bin are available via 
#                 the standard Ubuntu repositories
#               - cpdf is a commercial CLI PDF toolkit that is free for personal use.
#                 It can be downloaded here: https://github.com/coherentgraphics/cpdf-binaries
#               - yad can be installed from the webupd8 PPA with the following command:
#                 sudo add-apt-repository ppa:webupd8team/y-ppa-manager && apt-get update && apt-get install yad
#
# NOTES:        Here is a quick comparison of the advantages and disadvantages of each backend:
#
#                               speed     metadata preservation     content preservation        license
#               ghostscript:     --               ++                         ++               open-source
#               cpdf:             -               ++                         ++               proprietary
#               qpdf:            ++                +                         ++               open-source
#
#               Results might vary depending on the document and the version of the tool in question.
#
# INSTALLATION: https://askubuntu.com/a/236415
#
# This script was inspired by Kurt Pfeifle's PDF extraction script 
# (http://www.linuxjournal.com/content/tech-tip-extract-pages-pdf)
#
# Originally posted on askubuntu
# (https://askubuntu.com/a/282453)

# Variables

DOCUMENT="$1"
BACKENDSELECTION="^qpdf!ghostscript!cpdf"

# Functions

check_input(){
  if [[ -z "$1" ]]; then
    notify "Error: No input file selected."
    exit 1
  elif [[ ! "$(file -ib "$1")" == *application/pdf* ]]; then
    notify "Error: Not a valid PDF file."
    exit 1
  fi
}

check_deps () {
  for i in "[email protected]"; do
    type "$i" > /dev/null 2>&1 
    if [[ "$?" != "0" ]]; then
      MissingDeps+="$i"
    fi
  done
}

ghostscriptextract(){
  gs -dFirstPage="$STARTPAGE "-dLastPage="$STOPPAGE" -sOutputFile="$OUTFILE" -dSAFER -dNOPAUSE -dBATCH -dPDFSETTING=/default -sDEVICE=pdfwrite -dCompressFonts=true -c \
  ".setpdfwrite << /EncodeColorImages true /DownsampleMonoImages false /SubsetFonts true /ASCII85EncodePages false /DefaultRenderingIntent /Default /ColorConversionStrategy \
  /LeaveColorUnchanged /MonoImageDownsampleThreshold 1.5 /ColorACSImageDict << /VSamples [ 1 1 1 1 ] /HSamples [ 1 1 1 1 ] /QFactor 0.4 /Blend 1 >> /GrayACSImageDict \
  << /VSamples [ 1 1 1 1 ] /HSamples [ 1 1 1 1 ] /QFactor 0.4 /Blend 1 >> /PreserveOverprintSettings false /MonoImageResolution 300 /MonoImageFilter /FlateEncode \
  /GrayImageResolution 300 /LockDistillerParams false /EncodeGrayImages true /MaxSubsetPCT 100 /GrayImageDict << /VSamples [ 1 1 1 1 ] /HSamples [ 1 1 1 1 ] /QFactor \
  0.4 /Blend 1 >> /ColorImageFilter /FlateEncode /EmbedAllFonts true /UCRandBGInfo /Remove /AutoRotatePages /PageByPage /ColorImageResolution 300 /ColorImageDict << \
  /VSamples [ 1 1 1 1 ] /HSamples [ 1 1 1 1 ] /QFactor 0.4 /Blend 1 >> /CompatibilityLevel 1.7 /EncodeMonoImages true /GrayImageDownsampleThreshold 1.5 \
  /AutoFilterGrayImages false /GrayImageFilter /FlateEncode /DownsampleGrayImages false /AutoFilterColorImages false /DownsampleColorImages false /CompressPages true \
  /ColorImageDownsampleThreshold 1.5 /PreserveHalftoneInfo false >> setdistillerparams" -f "$DOCUMENT"
}

cpdfextract(){
  cpdf "$DOCUMENT" "$STARTPAGE-$STOPPAGE" -o "$OUTFILE"
}

qpdfextract(){
  qpdf --linearize "$DOCUMENT" --pages "$DOCUMENT" "$STARTPAGE-$STOPPAGE" -- "$OUTFILE"
  echo "$OUTFILE"
  return 0 # even benign qpdf warnings produce error codes, so we suppress them
}

notify(){
  echo "$1"
  notify-send -i application-pdf "PDFextract" "$1"
}

dialog_warning(){
  echo "$1"
  yad --center --image dialog-warning \
  --title "PDFExtract Warning" \
  --text "$1" \
  --button="Try again:0" \
  --button="Exit:1"

  [[ "$?" != "0" ]] && exit 0
}

dialog_settings(){
  PAGECOUNT=$(pdfinfo "$DOCUMENT" | grep Pages | sed 's/[^0-9]*//') #determine page count

  SETTINGS=($(\
      yad --form --width 300 --center \
          --window-icon application-pdf --image application-pdf \
          --separator=" " --title="PDFextract"\
          --text "Please choose the page range and backend"\
          --field="Start:NUM" 1[!1..$PAGECOUNT[!1]] --field="End:NUM" $PAGECOUNT[!1..$PAGECOUNT[!1]] \
          --field="Backend":CB "$BACKENDSELECTION" \
          --button="gtk-ok:0" --button="gtk-cancel:1"\
      ))

  SETTINGSRET="$?"

  [[ "$SETTINGSRET" != "0" ]] && exit 1

  STARTPAGE=$(printf %.0f ${SETTINGS[0]}) #round numbers and store array in variables
  STOPPAGE=$(printf %.0f ${SETTINGS[1]})
  BACKEND="${SETTINGS[2]}"
  EXTRACTOR="${BACKEND}extract"

  check_deps "$BACKEND"

  if [[ -n "$MissingDeps" ]]; then
    dialog_warning "Error, missing dependency: $MissingDeps"
    unset MissingDeps
    dialog_settings
    return
  fi

  if [[ "$STARTPAGE" -gt "$STOPPAGE" ]]; then 
    dialog_warning "<b>   Start page higher than stop page.   </b>"
    dialog_settings
    return
  fi

  OUTFILE="${DOCUMENT%.pdf} (p${STARTPAGE}-p${STOPPAGE}).pdf"
}

extract_pages(){
  $EXTRACTOR
  EXTRACTORRET="$?"
  if [[ "$EXTRACTORRET" = "0" ]]; then
    notify "Pages $STARTPAGE to $STOPPAGE succesfully extracted."
  else
    notify "There has been an error. Please check the CLI output."
  fi
}


# Main

check_input "$1"
dialog_settings
extract_pages
 

Installation

Befolgen Sie die allgemeinen Installationsanweisungen für Nautilus-Skripte . Lesen Sie den Skript-Header sorgfältig durch, um die Installation und Verwendung des Skripts zu verdeutlichen.


Teilseiten - PDF Shuffler


Überblick

PDF-Shuffler ist eine kleine Python-GTK-Anwendung, mit der der Benutzer PDF-Dokumente zusammenführen oder teilen und ihre Seiten mithilfe einer interaktiven und intuitiven grafischen Oberfläche drehen, zuschneiden und neu anordnen kann. Es ist ein Frontend für python-pyPdf.

Installation

 sudo apt-get install pdfshuffler
 

Verwendung

PDF-Shuffler kann einzelne PDF-Seiten zuschneiden und löschen. Mit dieser Funktion können Sie einen Seitenbereich aus einem Dokument oder sogar Teilseiten mit der Funktion zum Zuschneiden extrahieren:


Bildbeschreibung hier eingeben


Seitenelemente - Inkscape


Überblick

Inkscape ist ein sehr leistungsfähiger Open-Source-Vektorgrafik-Editor. Es unterstützt eine breite Palette von verschiedenen Formaten, einschließlich PDF-Dateien. Sie können damit Seitenelemente aus einer PDF-Datei extrahieren, ändern und speichern.

Installation

 sudo apt-get install inkscape
 

Verwendung

1.) Öffnen Sie die PDF-Datei Ihrer Wahl mit Inkscape. Es erscheint ein Importdialog. Wählen Sie die Seite aus, von der Sie Elemente extrahieren möchten. Belassen Sie die anderen Einstellungen wie folgt:


Bildbeschreibung hier eingeben

2.) Klicken und ziehen Sie in Inkscape, um die zu extrahierenden Elemente auszuwählen:


Bildbeschreibung hier eingeben

3.) Invertieren Sie die Auswahl mit !und löschen Sie das ausgewählte Objekt mit DELETE:


Bildbeschreibung hier eingeben

4.) Beschneiden Sie das Dokument auf die verbleibenden Objekte, indem Sie auf den Dialog Dokumenteigenschaften mit CTRL+ SHIFT+ zugreifen Dund "Dokument an Bild anpassen" auswählen:


Bildbeschreibung hier eingeben

5.) Speichern Sie das Dokument als PDF-Datei über den Dialog Datei -> Speichern unter :




6.) Wenn Ihr zugeschnittenes Dokument Bitmap- / Rasterbilder enthält, können Sie deren DPI im folgenden Dialogfeld festlegen:


Bildbeschreibung hier eingeben

7.) Wenn Sie alle Schritte befolgt haben, haben Sie eine echte PDF-Datei erstellt, die nur aus den Objekten Ihrer Wahl besteht:


Bildbeschreibung hier eingeben


82


2013-04-17

Speichern Sie dies als Shell-Skript wie 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}"
 

Typ ausführen:

 ./pdfextractor.sh 4 20 myfile.pdf
 
  1. 4 verweist auf die Seite, auf der das neue PDF gestartet wird.

  2. 20 verweist auf die Seite, mit der das PDF beendet wird.

  3. myfile.pdf ist die PDF-Datei, die Sie Teile extrahieren möchten.

Die Ausgabe erfolgt myfile_p4_p20.pdf im selben Verzeichnis wie die ursprüngliche PDF-Datei.

All dies und weitere Informationen finden Sie hier: Techniktipp


45


2013-04-16

Auf jedem System, auf dem eine TeX-Distribution installiert ist:

 pdfjam <input file> <page ranges> -o <output file>
 

Beispielsweise:

 pdfjam original.pdf 5-10 -o out.pdf
 

Siehe https://tex.stackexchange.com/a/79626/8666


32


2017-09-01

Es gibt ein Befehlszeilenprogramm namens pdfseparate .

Aus den Dokumenten:

 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
 

Oder wählen Sie eine einzelne Seite (in diesem Fall die erste Seite) aus der Datei sample.pdf aus:

 pdfseparate -f 1 -l 1 sample.pdf sample-1.pdf
 

31


2014-10-29

pdftk ( sudo apt-get install pdftk ) ist auch eine großartige Befehlszeile für die PDF-Bearbeitung. Hier sind einige Beispiele dafür, was getan werden pdftk kann:

    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
 

In Ihrem Fall würde ich tun:

      pdftk A=input.pdf cat A<page_range> output output.pdf
 

19


2014-10-29

Ich habe versucht, das Gleiche zu tun. Alles was du tun musst, ist:

  1. installieren pdftk :

     sudo apt-get install pdftk
     
  2. Wenn Sie zufällige Seiten extrahieren möchten:

     pdftk myoldfile.pdf cat 1 2 4 5 output mynewfile.pdf
     
  3. Wenn Sie einen Bereich extrahieren möchten:

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

Bitte überprüfen Sie die Quelle für weitere Informationen.


9


2016-05-03

Hast du PDF Mod ausprobiert?

Sie können zum Beispiel ... Seiten extrahieren und als PDF speichern.

Beschreibung:

PDF Mod ist ein einfaches Tool zum Ändern von PDF-Dokumenten. Es kann
Seiten per Drag & Drop drehen, extrahieren, entfernen und neu anordnen. Mehrere Dokumente können per Drag
& Drop kombiniert werden . Sie können auch den Titel, den Betreff, den Autor und die Schlüsselwörter eines PDF-
Dokuments mit PDF Mod bearbeiten .


Installation über das Software Center

Hoffe das wird nützlich.

Grüße.


8


2012-11-26

Wie sich herausstellt, kann ich damit umgehen imagemagick . Wenn Sie es nicht haben, installieren Sie einfach mit:

 sudo apt-get install imagemagick
 

Hinweis 1 : Ich habe dies mit einem einseitigen PDF versucht (ich lerne es zu verwenden imagemagick , also wollte ich nicht mehr Ärger als nötig). Ich weiß nicht, ob / wie es mit mehreren Seiten funktionieren wird, aber Sie können eine Seite von Interesse extrahieren mit pdftk :

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

Hier geben Sie die Seitenzahl an, die aufgeteilt werden soll (im obigen Beispiel A1 wird die erste Seite ausgewählt).

Hinweis 2 : Das mit diesem Verfahren erstellte Bild ist ein Raster.


Öffnen Sie das PDF mit dem Befehl display , der Teil der imagemagick Suite ist:

 display file.pdf
 

Meins sah so aus:


imagemagick Anzeige eines PDF


Klicken Sie auf das Bild, um eine Version in voller Auflösung zu sehen

Jetzt klicken Sie auf das Fenster und ein Menü erscheint an der Seite. Wählen Sie dort Transformieren | Zuschneiden .




Menü beschneiden">

Zurück im Hauptfenster können Sie den Bereich auswählen, den Sie zuschneiden möchten, indem Sie einfach den Mauszeiger ziehen (klassische Auswahl von Ecke zu Ecke).


Auswahl der zu erntenden Fläche


Beachten Sie beim Auswählen den handförmigen Zeiger um das Bild

Diese Auswahl kann verfeinert werden, bevor mit dem nächsten Schritt fortgefahren wird.

Wenn Sie fertig sind, achten Sie auf das kleine Rechteck in der oberen linken Ecke (siehe Abbildung oben). Hier werden die Abmessungen des zuerst ausgewählten Bereichs (z. B. 281x218 ) und an zweiter Stelle die Koordinaten der ersten Ecke (z +256+215 . B. ) angezeigt .

Notieren Sie die Abmessungen des ausgewählten Bereichs. Sie benötigen es zum Zeitpunkt des Speicherns des zugeschnittenen Bildes.

Klicken Sie nun im Popup-Menü (das jetzt das spezifische "Zuschneiden" -Menü ist) auf die Schaltfläche Zuschneiden .


Imagemagick Erntemenü

Schließlich, wenn Sie mit den Ergebnissen von Zuschneiden zufrieden sind, klicken Sie auf Menü Datei | speichern

Navigieren Sie zu dem Ordner, in dem Sie das zugeschnittene PDF speichern möchten, geben Sie einen Namen ein, klicken Sie auf die Schaltfläche Format , wählen Sie im Fenster "Bildformattyp auswählen" PDF aus und klicken Sie auf die Schaltfläche Auswählen . Klicken Sie im Fenster "Durchsuchen und Datei auswählen" auf die Schaltfläche Speichern .


imagemagick als pdf speichern

Vor dem Speichern imagemagick werden Sie aufgefordert, "Seitengeometrie auswählen". Hier geben Sie die Abmessungen Ihres zugeschnittenen Bildes mit einem einfachen Buchstaben "x" ein, um Breite und Höhe zu trennen.


imagemagick Seitengeometrie auswählen

Jetzt können Sie dies alles perfekt von der Befehlszeile aus tun (der Befehl ist convert optional -crop ) - es ist zwar schneller, aber Sie müssten vorher die Koordinaten des Bildes kennen, das Sie extrahieren möchten. Überprüfen Sie man convert und ein Beispiel in ihrer Webseite .


6


2013-04-19

Das Teilen und Zusammenführen von PDFs ist für diese und andere PDF-Manipulationsvorgänge sehr nützlich.

Download hier


2


2013-06-01

Da der ursprüngliche Benutzer nach einem interaktiven Tool und nicht nach einem Befehlszeilentool gefragt hat: Eine einfache Lösung besteht darin, einen beliebigen PDF-Viewer (okular unter Kubuntu, evince oder sogar Firefox unter Ubuntu) zu verwenden und dann einfach den Standarddruckdialog zu verwenden und "Drucken auf" zu wählen PDF-Datei "und wählen Sie dann im erweiterten Einstellungsdialog, welche Seiten" gedruckt "werden sollen. Diese Variante hat einige Nachteile, da einige Gimmicks im Original-PDF (wie gedrehte Seiten, Formulare usw.) möglicherweise verloren gehen, bei den meisten einfachen PDFs funktioniert dies jedoch problemlos.


2


2018-03-26

mutool , das mit mupdf geliefert wird, kann viele einfache PDF-Verarbeitungsaufgaben ausführen, hat jedoch eine elegantere Syntax als qpdf (und einige der anderen Antworten). Außerdem scheint es bei großen PDFs schneller zu sein:

 # extract page range 20-40
mutool clean in.pdf out.pdf 20-40
# extract from all over the pdf
mutool clean in.pdf out.pdf '1, 3-4, 74-92'
 

1


2019-10-28

Wenn Sie aus Ihren PDFs extrahieren möchten, können Sie http://www.sumnotes.net verwenden . Es ist ein erstaunliches Werkzeug, um Notizen, Hervorhebungen und Bilder aus PDFs zu extrahieren. Sie können auch Tutorials auf Youtube ansehen, indem Sie tippen sumnotes .

Ich hoffe du wirst es genießen!


0


2014-02-14