Hogyan készíthetek ki egy oldaltartományt / egy PDF-t?

318

Van valami ötleted arra, hogyan kell egy PDF dokumentum egy részét kivonni, és menteni PDF-ként? Az OS X esetében az Előnézet használata teljesen triviális. Próbáltam PDF-szerkesztőt és más programokat, de hiába.

Szeretnék egy olyan programot, ahol kiválaszom a kívánt részt, majd pdf formátumban egy egyszerű paranccsal elmentem, mint a CMD + N az OS X-en. a kitermelt rész PDF formátumban mentett, és nem jpeg stb.

    
készlet user72469 26.11.2012 03:06
forrás

14 válasz

363

pdftk hasznos többplatformos eszköz a munkához ( pdftk homepage ).

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

megadja a fő pdf fájlnevét, majd azt mondja meg, hogy csak bizonyos oldalakat (12-15 ebben a példában) tartalmazzon, és új fájlt adjon ki.

    
válasz adott Martin H 17.04.2013 17:21
forrás
198

nagyon egyszerű, használja az alapértelmezett PDF-olvasót:

nyomtatás fájlként. ez az!

majd a

    
válasz adott Abdennour TOUMI 14.11.2013 11:25
forrás
65

Oldaltartomány - Nautilus szkript

Áttekintés

Készítettem egy kicsit fejlettebb szkriptet a @ThiagoPonte bemutató alapján. Főbb jellemzői

  • hogy GUI alapú,
  • a fájlnevek szóközökével kompatibilis,
  • és három különböző háttért használ, amelyek képesek az eredeti fájl összes attribútumának megőrzésére

Pillanatkép

Kód

#!/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=""
BACKENDSELECTION="^qpdf!ghostscript!cpdf"

# Functions

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

check_deps () {
  for i in "$@"; 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 ""
  notify-send -i application-pdf "PDFextract" ""
}

dialog_warning(){
  echo ""
  yad --center --image dialog-warning \
  --title "PDFExtract Warning" \
  --text "" \
  --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 ""
dialog_settings
extract_pages

Telepítés

Kérjük, kövesse a általános telepítési utasításokat a Nautilus szkriptekhez . Győződjön meg róla, hogy figyelmesen olvassa el a parancsfájl fejlécét, mert ez segít a parancsfájl telepítésének és használatának tisztázásában.

Részleges oldalak - PDF keverő

Áttekintés

  

A PDF-Shuffler egy kis python-gtk alkalmazás, amely segíti a felhasználót a PDF dokumentumok egyesítésében vagy megosztásában, valamint interaktív és intuitív grafikus felületen történő forgatásával, kivágásával és átrendezésével. Ez egy frontend a python-pyPdf számára.

Telepítés

sudo apt-get install pdfshuffler

Használat

A PDF-Shuffler egyetlen PDF oldalt vághat és törölhet. Használhatja azt, hogy az oldaltartományt egy dokumentumból, vagy akár részleges oldalakból is kivágja a vágási funkció használatával:

Oldalelemek - Inkscape

Áttekintés

Az Inkscape egy nagyon hatékony, nyílt forráskódú vektorgrafikus szerkesztő. Támogatja a különböző formátumok széles skáláját, beleértve a PDF fájlokat is. Használhatja azt az oldalelemek kivonatolásához, módosításához és mentéséhez PDF fájlból.

Telepítés

sudo apt-get install inkscape

Használat

1.) Nyissa meg a kívánt PDF-fájlt az Inkscape alkalmazással. Megjelenik egy import párbeszédablak. Válassza ki azt az oldalt, ahonnan elemeket kíván kivonni. Hagyja a többi beállítást a következőképpen:

2.) Az Inkscape kattintással és húzással kiválaszthatja a kivonni kívánt elemeket:

3.) A kijelölést ! -kal billentse és törölje a kijelölt objektumot DELETE :

4.) Vágja le a dokumentumot a fennmaradó objektumokra a Dokumentum tulajdonságai párbeszédpanelen CTRL + SHIFT + D és válassza a "dokumentum illesztése képhez":

5.) Mentse a dokumentumot PDF fájlként a Fájlból - > Mentés párbeszédablak:

6.) Ha a kicsinyített dokumentumban bitképes / raszteres képek vannak, beállíthatja a DPI-t a következő párbeszédablakban:

7.) Ha minden lépést követett, létrehozott egy valódi PDF fájlt, amely csak az Ön által kiválasztott objektumokból áll:

    
válasz adott Glutanimate 17.04.2013 17:11
forrás
32

Mentse ezt héjszkriptként, például pdfextractor.sh:

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

A típus futtatása:

./pdfextractor.sh 4 20 myfile.pdf

1) 4 az oldalra vonatkozik, amely az új pdf-t indítja.

2) 20 az oldalra vonatkozik, amelyen a pdf-t végződik.

3) A myfile.pdf az a PDF fájl, ahova kivenned a részeket.

A kimenet a myfile_p4_p20.pdf könyvtárban található az eredeti pdf fájlban.

Mindez és még több információ itt: Tech Tip

    
válasz adott ThiagoPonte 16.04.2013 19:40
forrás
29

A QPDF nagyszerű. Használja ezt úgy, hogy kivonja az 1-10. Oldalt ainput.pdf -ból, és mentse eloutput.pdf -ként.

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

Kérjük, vegye figyelembe, hogyinput.pdf kétszer írt.

Telepítheti azt:

apt-get install qpdf

Vagy az Ubuntu apps könyvtárába:

Ez egy nagyszerű eszköz a PDF-manipulációhoz, ami nagyon gyors, kevés függőséggel rendelkezik. "A fájlok titkosítása és linearizálása, a PDF-fájl belső részeinek megjelenítése, valamint a felhasználók és a PDF-fejlesztők számára hasznos egyéb műveletek elvégzése."

link

    
válasz adott Ho1 09.09.2015 09:10
forrás
21

Van egy parancssori segédprogram, a pdfseparate .

A dokumentumokból:

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

Vagy, hogy kiválasszon egy oldalt (ebben az esetben az első oldalt) a file sample.pdf-ből:

pdfseparate -f 1 -l 1 sample.pdf sample-1.pdf
    
válasz adott jdmcbr 29.10.2014 19:17
forrás
17

pdftk (sudo apt-get install pdftk) egy nagyszerű parancssor a PDF manipulációhoz is. Íme néhány példa arra, amit apdftk tehet:

   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

A te esetedben:

     pdftk A=input.pdf cat A<page_range> output output.pdf
    
válasz adott Andrzej Pronobis 29.10.2014 19:23
forrás
10

Minden olyan rendszerben, amely TeX elosztást telepítette:

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

Például:

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

Lásd a linket

    
válasz adott Ioannis Filippidis 01.09.2017 22:18
forrás
7

Megpróbálta a PDF Mod? -t?

Például kiválaszthatja az oldalakat és mentheti őket pdf formátumban.

Leírás:

A PDF Mod egy egyszerű eszköz a PDF dokumentumok módosításához. Forgathatja, kiválaszthatja, eltávolíthatja és átrendezheti az oldalakat a drag and drop használatával. Több dokumentumot kombinálhat a drag & drop segítségével. Szerkesztheti a PDF dokumentum dokumentumának címét, tárgyát, szerzőjét és kulcsszavait a PDF Mod. Használatával.

>

Remélem ez hasznos lesz.

Regars.

    
válasz adott Roman Raguet 26.11.2012 03:17
forrás
6

Ugyanezt igyekeztem tenni. Mindössze annyit kell tennie, hogy:

  1. telepítse apdftk:

    parancsot
    sudo apt-get install pdftk
    
  2. ha véletlenszerű oldalakat kíván kivonni:

    pdftk myoldfile.pdf cat 1 2 4 5 output mynewfile.pdf
    
  3. ha egy tartományt kíván kivonni:

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

Kérjük, ellenőrizze a forrást további információért .

    
válasz adott theCode 03.05.2016 06:00
forrás
5

Amint kiderül, ezt aimagemagick -val megtehetem. Ha nincs, telepítse egyszerűen:

sudo apt-get install imagemagick

1. megjegyzés : Próbáltam ezt egy egyoldalas pdf-vel (tanulokimagemagick -ot használni, ezért nem akartam több bajot, mint szükséges). Nem tudom, hogy hogyan fog működni több oldal, de kivonhat egy érdekes oldalt apdftk:

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

ahol a felosztandó oldalszámot jelöli (a fenti példábanA1 választja ki az első oldalt).

2. megjegyzés : Az ezzel az eljárással létrehozott kép raszter lesz.

Nyissa meg a pdf parancsot adisplay paranccsal, amely aimagemagick csomag része:

display file.pdf

Az enyém így néz ki:


Kattintson a képre a teljes felbontású változat megtekintéséhez

Most rákattint az ablakra, és a menü oldalra kerül. Ott válassza a Átalakítás lehetőséget Crop .

Vissza a főablakban kiválaszthatja a kivágni kívánt területet a mutató húzásával (klasszikus saroktól sarokig).


Figyeld meg a kézi alakú mutatót a kép körül, miközben kiválasztod

Ez a kijelölés finomítható, mielőtt folytatná a következő lépést.

Miután elkészült, vegye figyelembe a bal felső sarokban megjelenő kis téglalapot (lásd a fenti képet). Megmutatja az először kiválasztott terület méretét (például281x218) és másodszor az első sarok koordinátáit (például+256+215).

Írja le a kiválasztott terület dimenzióit; a kivágott kép mentése pillanatában szüksége lesz rá.

Most pedig a pop menüben (ami most az adott "crop" menü), kattintson a Crop gombra.

Végül, ha elégedett a vágási eredményekkel, kattints a Fájl | menüre Mentés

Keresse meg azt a mappát, ahová el szeretné menteni a kivágott pdf-t, írjon be egy nevet, kattintson a "Képformátum kiválasztása" ablak Formátum gombjára PDF és kattintson a Select gombra. A "Tallózás és fájl kiválasztása" ablakban kattintson a Mentés

gombra

A mentés előtt aimagemagick kérni fogja az "oldal geometriájának kiválasztását". Itt írja be a kivágott kép méretét egy "x" betűvel a szélesség és a magasság különválasztásához.

Most mindent tökéletesen meg tud tenni a parancssorból (aconvert parancs a-crop paranccsal) - biztosan gyorsabb, de előzetesen meg kell tudnia a kivágni kívánt kép koordinátáit . Ellenőrizzeman convert és egy példát weboldalukban .

    
válasz adott carnendil 19.04.2013 02:54
forrás
2

A PDF Split és Merge igen hasznos ehhez és más PDF manipulációs műveletekhez.

Letöltés itt

    
válasz adott To Do 01.06.2013 12:45
forrás
0

Ha PDF-fájlból szeretne kivonatolni, használhatja a linket . Ez egy csodálatos eszköz a jegyzetek, kiemelések és képek PDF-fájlokból való kivonására. A YouTube-on is megtekintheti a következőket:sumnotes.

Remélem, élvezni fogja!

    
válasz adott James 14.02.2014 18:34
forrás
0

Mivel az eredeti felhasználó interaktív eszközre és nem parancssori eszközre szólított fel: Egyszerű megoldás, ha bármilyen PDF-megjelenítőt (okuláris Kubuntu-on vagy Ubunu-ból, akár Firefox-ot használ), majd csak a normál nyomtatási párbeszédablakot választja "Nyomtassa ki a PDF-fájlba", majd válassza ki a kiterjesztett beállítások párbeszédpanelen, hogy mely oldalakat nyomtassa ki. Ennek a változatnak van némi hátránya, mivel az eredeti PDF formátumban (pl. Forgó oldalak, formanyomtatványok stb.) Néhány trükk elvesznek, de a legtöbb egyszerű PDF esetében egyszerűen működik.

    
válasz adott Kai Petzke 26.03.2018 12:36
forrás