Archiv der Kategorie: Postscript & PDF

Markdown

Markdown ist eine Auszeichnungssprache, mit der einfach strukturierte Quelltexte geschrieben werden können. Pandoc ist ein Konverter für Markdown-Dokumente, der in PDF, epub, HTML, LaTeX, docx, odt… konvertiert.

Installation Pandoc

Pandoc ist in den Quellen meist veraltet, daher sollte das Paket direkt von Pandoc.org installiert werden.

Für das Erzeugen von PDF-Dateien sind folgende Zusatzpakete erforderlich:

sudo apt-get install texlive-latex-base texlive-generic-recommended texlive-fonts-recommended lmodern

 

pdfimages

Mit dem Befehl pdfimages kann man alle Bilder aus einem PDF-Dokument extrahieren.

Der Befehl pdfimages -j datei.pdf ./bilder/ extrahiert alle Bilder aus dem Dokument datei,pdf und speicher sie im Ordner /bilder/.

pdfjam

pdfjam ist eine Sammlung von praktischen PDF-Tools.

pdfjoin – PDF-Dokumente zusammenfügen
pdfcrop – Ränder beschneiden….

pdfnup – mehrere PDFs auf eine Seite

pdfnup --nup 2x1 --suffix '2x1' infile.pdf
pdfnup --nup 2x2 --suffix '2x2' infile.pdf

PDF auf A4 und Rand auf 20mm
pdfcrop --papersize a4 --margins 20 datei.pdf datei_neu.pdf

PDF auf A4 anpassen
pdfjoin datei.pdf --paper a4paper --fitpaper false --outfile .datei_neu.pdf

oder
pdfjam --outfile out.pdf --paper a4paper in.pdf

Ghostscript

Auflösung von PDF-Dateien verändern (z. B. um ein PDF-Dokument mit sehr hochauflösenden Bildern für den E-Mail-Versand zu komprimieren):

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

Für PDFSETTINGS sind folgende Optionen möglich:

  • /screen (nur für Bildschirmanzeige – 72 dpi)
  • /ebook (geringe Qualität – 150 dpi)
  • /printer (hohe Qualität – 300 dpi)
  • /prepress: (hohe Qualität mit hoher Farbtreue – 300 dpi)

Ein fertiges Skript für Nautilus gibt es unter http://launchpad.net/compress-pdf. Hier noch eine Kurzanleitung zur Installation des Skripts:

$ sudo apt-get install zenity ghostscript libnotify-bin
$ cd ~/.gnome2/nautilus-scripts
$ wget http://launchpad.net/compress-pdf/1.x/1.4/+download/Compress-PDF-1.4.tar.gz
$ tar -xzf Compress-PDF*.tar.gz && rm Compress-PDF*.tar.gz

Beispiele, wie PDF-Dateien in Bilder umgewandelt werden können zeigen die Artikel pdf2bmp und pdf2jpg

Fonts

Fonts liegen in

/usr/share/fonts

eigene Fonts liegen in

.fonts oder .local/share/fonts

Microsoft-Fonts

Will man die True Type Mircosoft Schriftarten Arial, Times, Comic Sans… installieren, so muss man das Paket ttf-mscorefonts-installer installieren.

Fonts nachinstallieren

Eine Auswahl schöner Fonts:

sudo apt-get install fonts-dkg-handwriting fonts-dosis fonts-femkeklaver fonts-humor-sans fonts-isabella fonts-kristi fonts-leckerli-one fonts-lindenhill fonts-okolaks fonts-pecita fonts-quattrocento fonts-radisnoir fonts-rufscript fonts-tomsontalks fonts-vollkorn fonts-yanone-kaffeesatz

Unnötige Fonts deinstallieren

sudo dpkg -P fonts-gargi fonts-kacst fonts-kacst-one fonts-lklug-sinhala fonts-lohit-beng-assamese fonts-lohit-beng-bengali fonts-lohit-deva fonts-lohit-gujr fonts-lohit-guru fonts-lohit-knda fonts-lohit-mlym fonts-lohit-orya fonts-lohit-taml fonts-lohit-taml-classical fonts-lohit-telu fonts-noto fonts-noto-cjk fonts-noto-hinted fonts-noto-mono fonts-noto-unhinted fonts-tlwg-garuda fonts-beng fonts-deva fonts-deva-extra fonts-gujr fonts-guru fonts-indic fonts-knda fonts-mlym fonts-orya fonts-taml fonts-telu fonts-thai-tlwg fonts-beng-extra fonts-guru-extra fonts-kalapi fonts-khmeros-core fonts-lao fonts-nakula fonts-nanum fonts-navilu fonts-pagul fonts-sahadeva fonts-samyak-deva fonts-samyak-gujr fonts-samyak-mlym fonts-samyak-taml fonts-sarai fonts-sil-abyssinica fonts-sil-padauk fonts-smc fonts-takao-pgothic fonts-telu-extra fonts-tibetan-machine fonts-tlwg-garuda-ttf fonts-tlwg-kinnari fonts-tlwg-kinnari-ttf fonts-tlwg-laksaman fonts-tlwg-laksaman-ttf fonts-tlwg-loma fonts-tlwg-loma-ttf fonts-tlwg-mono fonts-tlwg-mono-ttf fonts-tlwg-norasi fonts-tlwg-norasi-ttf fonts-tlwg-purisa fonts-tlwg-purisa-ttf fonts-tlwg-sawasdee fonts-tlwg-sawasdee-ttf fonts-tlwg-typewriter fonts-tlwg-typewriter-ttf fonts-tlwg-typist fonts-tlwg-typist-ttf fonts-tlwg-typo fonts-tlwg-typo-ttf fonts-tlwg-umpush fonts-tlwg-umpush-ttf fonts-tlwg-waree fonts-tlwg-waree-ttf fonts-gubbi fonts-gujr-extra fonts-orya-extra fonts-stix fonts-wqy-microhei

 

 

pdflatex

Mit pdflatex lässt sich eine tex-Datei in ein PDF-Dokument umwandeln.

pdflatex -etex -interaction=nonstopmode linux.tex

Enthält die Datei ein Inhaltsverzeichnis, muss der Befehl zwei mal ausgeführt werden.

geschützte PDF

In der Datei /usr/share/ghostscript/*/lib/gs_pdfwr.ps oder auch /usr/share/gs-esp/8.15/lib/gs_pdfwr.ps steht gegen Ende folgender Eintrag:

 % Patch 'where' so that the distiller operators are only visible 
 % if the pdfwrite device is the current one. 
 { currentdevice .devicename /pdfwrite eq { 
 .where 

Dieser muss in { currentdevice .devicename /pdfwritexyz eq { abgeändert werden.
Danach ist es möglich mit ps2pdf geschützte Dateien umzuwandeln.

psselect

psselect -e eingabe.ps ausgabe.ps schreibt alle geraden Seiten in eine neue Datei.

Mit -o werden die ungeraden Seiten gespeichert.

Für die Seiten 1 und 3-5 gibt man psselect -p1.3-5 eingabe.ps ausgabe.ps an.

Die Umgekehrte Reihenfolge erhält man mit -r

pdftk

Manipulation von PDF-Dateien

Beispiele:
Mehrere PDFs verschmelzen: pdftk eins.pdf zwei.pdf drei.pdf cat output einszweidrei.pdf

Einzelne Seiten von PDFs in ein neues PDF extrahieren: pdftk input.pdf cat 1 2 4 5 12 output auszug.pdf
pdftk A=eins.pdf B=zwei.pdf cat A1-7 B1-5 A8 output kombiniert.pdf

Ein mehrseitiges PDF in Einzelseiten zerlegen: pdftk beispiel.pdf burst

Von Seite 2 bis Ende: pdftk inputfile.pdf cat 2-end output outputfile.pdf

Installation unter Ubuntu18.04 Bionic:

  • wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pdftk/pdftk_2.02-4build1_amd64.deb
  • wget http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-6/libgcj17_6.4.0-8ubuntu1_amd64.deb
  • wget http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-defaults/libgcj-common_6.4-3ubuntu1_all.deb
  • sudo dpkg -i pdftk_2.02-4build1_amd64.deb libgcj17_6.4.0-8ubuntu1_amd64.deb libgcj-common_6.4-3ubuntu1_all.deb

ps2pdf

Umwandeln von PostScript in PDF
Beispiele:

  • Optimieren, für schnelle Anzeige: ps2pdf -dOptimize=true datei.ps
  • Schriften einbinden: ps2pdf -dEmbedAllFonts=true datei.ps
  • Komprimieren: ps2pdf -dUseFlatCompression=true datei.ps
  • Auflösung: ps2pdf -dPDFSETTINGS=/printer datei.ps Parameter (schlecht -> gut): /screen /ebook /printer /prepress

pdf2bmp

Folgendes Skript konvertiert PDF-Dokumente in BMP-Dateien, wobei die Auflösung der BMP-Datei frei gewählt werden kann. Standard ist 300 dpi.

#!/bin/bash
#pdf2bmp - konvertiert PDF/PS-Dateien nach BMP
#
function err_text {
  while [ $# -gt 0 ] ; do
    echo "$1" 1>&2 # Ausgabe auf stderr
    shift
  done
  echo "`basename $0` [-r resolution" href="-o outfile] infile[.pdf|.ps]" 1>&2 //
   # Ausgabe auf stderr
  exit 1
}

# Sortieren der Parameter
set--`getopt "r:o:" "$@"` || err_text
# Startwerte definieren
outres=300
# Parameter abfragen
while : ; do
  case "$1" in
    -r) shift; outres=$1;;
    -o) shift; outfile=$1;;
    --) break;;
  esac
  shift
  [ $# -eq 0 ] && break # Fehler in den angegebenen Parametern
done
shift
[ $# -lt 1 ] && err_text # kein Dateiname wurde übergeben
while [ $# -ge 1 ] ; do
  if [ -f "$1" ] ; then
    gs -sDEVICE=bmp16m -sOutputFile="${outfile:-`basename "$1"`}_%03d.bmp" -r$outres //
     -dNOPAUSE -dBATCH "$1"
  else
    err_text "`basename $0` - Datei '$1' existiert nicht"
  fi
  shift
done

pdf2jpg

Folgendes Skript konvertiert PDF-Dokumente in JPG-Dateien, wobei die Auflösung der JPG-Datei frei gewählt werden kann. Standard ist 300 dpi.

#!/bin/bash
#pdf2jpg - konvertiert PDF/PS-Dateien nach JPG
#
function err_text {
  while [ $# -gt 0 ] ; do
    echo "$1" 1>&2 # Ausgabe auf stderr
    shift
  done
  echo "`basename $0` [-r resolution" href="-o outfile] infile[.pdf|.ps]" 1>&2 //
   # Ausgabe auf stderr
  exit 1
}

# Sortieren der Parameter
set--`getopt "r:o:" "$@"` || err_text
# Startwerte definieren
outres=300
# Parameter abfragen
while : ; do
  case "$1" in
    -r) shift; outres=$1;;
    -o) shift; outfile=$1;;
    --) break;;
  esac
  shift
  [ $# -eq 0 ] && break # Fehler in den angegebenen Parametern
done
shift
[ $# -lt 1 ] && err_text # kein Dateiname wurde übergeben
while [ $# -ge 1 ] ; do
  if [ -f "$1" ] ; then
    gs -sDEVICE=jpeg -sOutputFile="${outfile:-`basename "$1"`}_%03d.jpg" //
     -r$outres -dNOPAUSE -dBATCH "$1"
  else
    err_text "`basename $0` - Datei '$1' existiert nicht"
  fi
  shift
done

GhostScript-Devices

MS-DOS displays (note: not usable with Desqview/X): 
   MS-DOS EGA and VGA:
       ega     EGA (640x350, 16-color)
       vga     VGA (640x480, 16-color)
   MS-DOS SuperVGA:
 *     ali     SuperVGA using Avance Logic Inc. chipset, 256-color modes
 *     atiw    ATI Wonder SuperVGA, 256-color modes
 *     cirr    SuperVGA using Cirrus Logic CL-GD54XX chips, 256-color modes
 *     s3vga   SuperVGA using S3 86C911 chip (e.g., Diamond Stealth board)
       svga16  Generic SuperVGA in 800x600, 16-color mode
 *     tseng   SuperVGA using Tseng Labs ET3000/4000 chips, 256-color modes
 *     tvga    SuperVGA using Trident chipset, 256-color modes
   ****** NOTE: The vesa device does not work with the Watcom (32-bit MS-DOS)
   ****** compiler or executable.
       vesa    SuperVGA with VESA standard API driver
Other displays: 
   MS Windows:
       mswindll  Microsoft Windows 3.1 DLL  [MS Windows only]
       mswinprn  Microsoft Windows 3.0, 3.1 DDB printer  [MS Windows only]
       mswinpr2  Microsoft Windows 3.0, 3.1 DIB printer  [MS Windows only]
   OS/2:
 *     os2pm   OS/2 Presentation Manager   [OS/2 only]
 *     os2dll  OS/2 DLL bitmap             [OS/2 only]
 *     os2prn  OS/2 printer                [OS/2 only]
   Unix and VMS:
   ****** NOTE: For direct frame buffer addressing under SCO Unix or Xenix,
   ****** edit the definition of EGAVGA below.
 *     lvga256  Linux vgalib, 256-color VGA modes  [Linux only]
 +     vgalib  Linux vgalib, 16-color VGA modes   [Linux only]
       x11     X Windows version 11, release >=4   [Unix and VMS only]
       x11alpha  X Windows masquerading as a device with alpha capability
       x11cmyk  X Windows masquerading as a 1-bit-per-plane CMYK device
       x11cmyk2  X Windows as a 2-bit-per-plane CMYK device
       x11cmyk4  X Windows as a 4-bit-per-plane CMYK device
       x11cmyk8  X Windows as an 8-bit-per-plane CMYK device
       x11gray2  X Windows as a 2-bit gray-scale device
       x11gray4  X Windows as a 4-bit gray-scale device
       x11mono  X Windows masquerading as a black-and-white device
       x11rg16x  X Windows with G5/B5/R6 pixel layout for testing.
       x11rg32x  X Windows with G11/B10/R11 pixel layout for testing.
Printers: 
 +     atx23   Practical Automation ATX-23 label printer
 +     atx24   Practical Automation ATX-24 label printer
 +     atx38   Practical Automation ATX-38 label printer
 +     deskjet  H-P DeskJet and DeskJet Plus
       djet500  H-P DeskJet 500; use -r600 for DJ 600 series
 +     fs600   Kyocera FS-600 (600 dpi)
 +     laserjet  H-P LaserJet
 +     ljet2p  H-P LaserJet IId/IIp/III* with TIFF compression
 +     ljet3   H-P LaserJet III* with Delta Row compression
 +     ljet3d  H-P LaserJet IIID with duplex capability
 +     ljet4   H-P LaserJet 4 (defaults to 600 dpi)
 +     ljet4d  H-P LaserJet 4 (defaults to 600 dpi) with duplex
 +     ljetplus  H-P LaserJet Plus
       lj5mono  H-P LaserJet 5 & 6 family (PCL XL), bitmap:
               see below for restrictions & advice
       lj5gray  H-P LaserJet 5 & 6 family, gray-scale bitmap;
               see below for restrictions & advice
 *     lp2563  H-P 2563B line printer
 *     oce9050  OCE 9050 printe
       (pxlmono) H-P black-and-white PCL XL printers (LaserJet 5 and 6 family)
       (pxlcolor) H-P color PCL XL printers (e.g. Color LaserJet 4500)
Fax file format: 
   ****** NOTE: all of these drivers normally adjust the page size to match
   ****** one of the three CCITT standard sizes (U.S. letter with A4 width,
   ****** A4, or B4).  To suppress this, use -dAdjustWidth=0.
       faxg3   Group 3 fax, with EOLs but no header or EOD
       faxg32d  Group 3 2-D fax, with EOLs but no header or EOD
       faxg4   Group 4 fax, with EOLs but no header or EOD
       tiffcrle  TIFF "CCITT RLE 1-dim" (= Group 3 fax with no EOLs)
       tiffg3  TIFF Group 3 fax (with EOLs)
       tiffg32d  TIFF Group 3 2-D fax
       tiffg4  TIFF Group 4 fax
High-level (vector) file formats 
       epswrite  EPS output (like PostScript Distillery)
       pdfwrite  PDF output (like Adobe Acrobat Distiller)
       pswrite  PostScript output (like PostScript Distillery)
       pxlmono  Black-and-white PCL XL
       pxlcolor  Color PCL XL
Other raster file formats and devices 
       bit     Plain bits, monochrome
       bitrgb  Plain bits, RGB
       bitcmyk  Plain bits, CMYK
       bmpmono Monochrome MS Windows .BMP file format
       bmpgray 8-bit gray .BMP file format
       bmpsep1 Separated 1-bit CMYK .BMP file format, primarily for testing
       bmpsep8 Separated 8-bit CMYK .BMP file format, primarily for testing
       bmp16   4-bit (EGA/VGA) .BMP file format
       bmp256  8-bit (256-color) .BMP file format
       bmp16m  24-bit .BMP file format
       bmp32b  32-bit pseudo-.BMP file format
       cgmmono  Monochrome (black-and-white) CGM -- LOW LEVEL OUTPUT ONLY
       cgm8    8-bit (256-color) CGM--DITTO
       cgm24   24-bit color CGM--DITTO
       jpeg    JPEG format, RGB output
       jpeggray  JPEG format, gray output
       miff24  ImageMagick MIFF format, 24-bit direct color, RLE compressed
       pcxmono PCX file format, monochrome (1-bit black and white)
       pcxgray PCX file format, 8-bit gray scale
       pcx16   PCX file format, 4-bit planar (EGA/VGA) color
       pcx256  PCX file format, 8-bit chunky color
       pcx24b  PCX file format, 24-bit color (3 8-bit planes)
       pcxcmyk PCX file format, 4-bit chunky CMYK color
       pbm     Portable Bitmap (plain format)
       pbmraw  Portable Bitmap (raw format)
       pgm     Portable Graymap (plain format)
       pgmraw  Portable Graymap (raw format)
       pgnm    Portable Graymap (plain format), optimizing to PBM if possible
       pgnmraw Portable Graymap (raw format), optimizing to PBM if possible
       pnm     Portable Pixmap (plain format) (RGB), optimizing to PGM or PBM
                if possible
       pnmraw  Portable Pixmap (raw format) (RGB), optimizing to PGM or PBM
                if possible
       ppm     Portable Pixmap (plain format) (RGB)
       ppmraw  Portable Pixmap (raw format) (RGB)
       pkm     Portable inKmap (plain format) (4-bit CMYK => RGB)
       pkmraw  Portable inKmap (raw format) (4-bit CMYK => RGB)
       pksm    Portable Separated map (plain format) (4-bit CMYK => 4 pages)
       pksmraw Portable Separated map (raw format) (4-bit CMYK => 4 pages)
 *     plan9bm  Plan 9 bitmap format
       pngmono Monochrome Portable Network Graphics (PNG)
       pnggray 8-bit gray Portable Network Graphics (PNG)
       png16   4-bit color Portable Network Graphics (PNG)
       png256  8-bit color Portable Network Graphics (PNG)
       png16m  24-bit color Portable Network Graphics (PNG)
       psmono  PostScript (Level 1) monochrome image
       psgray  PostScript (Level 1) 8-bit gray image
       psrgb   PostScript (Level 2) 24-bit color image
       tiff12nc  TIFF 12-bit RGB, no compression
       tiff24nc  TIFF 24-bit RGB, no compression (NeXT standard format)
       tifflzw  TIFF LZW (tag = 5) (monochrome)
       tiffpack  TIFF PackBits (tag = 32773) (monochrome)