Weblog Tomasza Przechlewskiego [Zdjęcie T. Przechlewskiego]


scrum
random image [Photo gallery]
Zestawienie tagów
1-wire | 18b20 | 1wire | 2140 | 3rz | alsamixer | amazon | anniversary | antypis | apache | api | applebaum | arm | armenia | astronomy | asus | atom.xml | awk | aws | bachotek | bakłażan | balcerowicz | balta | bash | berlin | bibtex | bieszczady | biznes | blogger | blogging | blosxom | bono | borne-sulinowo | breugel | bt747 | budapeszt | bursztyn | canon | cedewu | chello | chiller | chillerpl | chown | chujowetaśmy | ciasto | cmentarz | contour | cron | css | csv | curl | cycling | d54250wykh | dbi | debian | dejavu | dhcp | dht22 | dia | docbook | dom | ds18b20 | dyndns | dynia | ebay | economy | ekonomia | elka | elm | emacs | emacs23 | english | ess | eu | excel | exif | exiftool | f11 | fc | fc11 | fc15 | fc29 | fc5 | fc8 | fedora | fedora21 | fenix | ffmpeg | finepix | firefox | flickr | fontforge | fontspec | fonty | food | fop | foto | france | francja | fripp | fuczki | fuji | fuse | gammu | garmin | gawk | gazwyb | gdańsk | gdynia | gender | geo | geocoding | georgia | gft | git | github | gmail | gmaps | gnokii | gnus | google | googlecl | googleearth | googlemaps | gotowanie | gphoto | gphoto2 | gps | gpsbabel | gpsphoto | gpx | gpx-viewer | greasemonkey | gruzja | grzyby | haldaemon | handbrake | historia | history | hitler | holocaust | holokaust | hpmini | humour | iblue747 | ical | iiyama | ikea | imap | inkscape | inne | internet | j10i2 | javascript | jhead | k800i | kajak | kamera | kleinertest | kml | kmobiletools | knuth | kociewie kołem | kod | kolibki | komorowski | konwersja | krutynia | kuchnia | kurski | latex | latex2rtf | latex3 | lcd | legend | lenny | lesund | lewactwo | liberation | linksys | linux | lisp | lisrel | litwa | lizbona | logika | ltr | lubowla | lwp | lwów | m2wś | malta | mapquest | mapsource | marvell | math | mathjax | mazury | mbank | mediolan | mencoder | mh17 | michalak | michlmayr | microsoft | monitor | mp4box | mplayer | ms | msc | mssql | msw | mswindows | mtkbabel | museum | muzyka | mymaps | mysql | nanopi | natbib | navin | nekrolog | neo | neopi | netbook | niemcy | niemieckie zbrodnie | nikon | nmea | nowazelandia | nuc | nxml | oauth | oauth2 | obituary | okular | olympus | ooffice | ooxml | opera | osm | otf | otftotfm | other | overclocking | ozbekiston | panoramio | pdf | pdfpages | pdftex | pdftk | perl | photo | photography | picasa | picasaweb | pim | pine | pis | pit | plotly | pls | plugin | po | podróże | politics | polityka | polsat | portugalia | postęp | powerpoint | prelink | problem | propaganda | pstoedit | putin | python | r | radio | random | raspberry pi | refugees | relaxng | ridley | router | rower | rowery | rpi | rsync | rtf | ruby | rugby | russia | rwc | rwc2007 | rwc2011 | rzym | samba | sem | sernik | sheevaplug | sienkiewicz | signature | sks | skype | skytraq | smoleńsk | sqlite | srtm | sshfs | ssl | staszek wawrykiewicz | statistics | stats | statystyka | stix | stretch | suwałki | svg | svn | swanetia | swornegacie | szwajcaria | słowacja | tbilisi | terrorism | tex | texgyre | texlive | thunderbird | tomato | totalnaopozycja | tourism | tramp | trang | truetype | ttf | turkey | turystyka | tusk | tv | tv5monde | twitter | typetools | ubuntu | uchodźcy | udev | ue | ukraina | umap | unix | upc | updmap | ups | utf8 | uzbekistan | varia | video | vienna | virb edit | vostro | wammu | wdc | wdfs | webcam | webdav | wh2080 | wiedeń | wikicommons | wilno | win10 | windows | windows8 | wine | wioślarstwo | word | wordpress | wrt54gl | ws1080 | wtyczka | ww2 | www | wybory | wybory2015 | włochy | węgry | xemex | xetex | xft | xhtml | xine | xml | xmllint | xsd | xslt | xvidtune | youtube | yum | zakopane | zakupy | zdf | zdrowie | łeba | świdnica | żywność
Archiwum
O stronie
wykorzystywany jest blosxom plus następujące wtyczki: tagging, flatarchives, rss10, lastbuilddatexhtmlmime. Niektóre musiałem dopasować nieco do swoich potrzeb. Więcej o blosxom jest tutaj
Subskrypcja
RSS 1.0
Poprawianie plików PDF w edytorze Emacs

Opisany wcześniej skrypt uruchamiam ,,spod'' Emacsa działającego w trybie BibTeX. Konkretniej poniższa funkcja bibtex-adjust-pdf-filename pobiera wartości pól author, title, year oraz tp:keywords, a następnie przekazuje te wartości w postaci argumentów ww. skryptu uruchamianego jako polecenie systemowe. Mam nadzieję dzięki temu mieć większy porządek w przechowywanych dokumentach pobranych z różnych archiwów elektronicznych.

(defun bibtex-adjust-pdf-filename (file)
"Dla bieżącego rekordu bibtexa modyfikuje plik zawierający relewantny dokument PDF 
(dodaje co trzeba do słownika Info oraz modyfikuje nazwę). Oryginalna nazwa pliku
PDF jest podana z minibufora. Modyfikacja jest dokonywana przez zewnętrzny skrypt. 
Cała ta procedura jest po to żeby można łatwiej później odszukać plik na dysku...."
  (interactive "fNazwa pliku: ")
  (save-excursion
    (bibtex-beginning-of-entry)
    (let* ( (author (bibtex-text-in-field "author"))
	    (year (bibtex-text-in-field "year")) 
	    (keywords (bibtex-text-in-field "tp:keywords")) 
	    (title (bibtex-text-in-field "title")) 
	    (command (format "%s -rename -f \"%s\" -t \"%s\" -a \"%s\" -k \"%s\" -y \"%s\""
			  (executable-find "pdf_set_info.pl") ;; script name
			  (expand-file-name file) title author keywords year)) )
      (progn  (shell-command command)
	      (previous-line)
	      (beginning-of-line)
	      (insert (concat "%% patched with pdf_set_info.pl %%" ))))))

Przy okazji namiar na bloga anonimowego użytkownika Emacsa zawierającego parę ciekawych rzeczy.

url | Mon, 24/11/2008 17:23 | tagi: , ,
Pdftk

PdfTk nie ma w zasobach fc8. W nowszych dystrybucjach też nie ma z uwagi na restrykcyjną licencję (znalazłem -- podobno działajacy -- rpm dla fc9 na stronie Gregory R. Kriehna, ale ja używam ciągle fc8). Nie idzie też tego skompilować: błąd zgłaszany przez gcj. Z opisu wynika, że sprawa jest trudna, bo pdftk jest źle zakodowany (I think all of us were amazed that it ever worked. That it did was by accident.:-)

Głupia sprawa... bo to przydatna aplikacja. Potrzebowałem akurat narzędzia do zmiany wpisów w słowniku Info plików PDF (pola Title, Author itp.). Znalazłem inne rozwiązanie wykorzystujące perlowy pakiet PDF::API2.

Najpierw instalacja (był dostępny w repozytoriach yuma):

yum install  yum install perl-PDF-API2

Skrypt jest banalny:

#!/usr/bin/perl
use PDF::API2;
use Getopt::Long;

my $USAGE = "*** pdf_set_info -t title -k keywords -a author -f file ***\n";

GetOptions( 't=s' => \$title, 'a=s' => \$author, 'k=s' => \$keywords,
 'f=s' => \$file, );

unless ($file) { print STDERR $USAGE; exit }

$pdf = PDF::API2->new;
$pdf = PDF::API2->open($file) || die "*** Problems opening $file ****";

%H = $pdf->info;
if ( $H{'Title'} ) { 
   print STDERR "**** Original title: $H{'Title'} ****\n";
   if ($title) { $title .= " ($H{'Title'})" ; }
 }

## Modyfikacja:
if ($title) { $H{'Title'} = $title }
if ($author)  { $H{'Author'} = $author }
if ($keywords)  { $H{'Keywords'} = $keywords }

unless ($title || $author || $keywords) { print STDERR $USAGE; exit }
%H = $pdf->info( %H );
$pdf->update;

Uruchomienie:

./pdf_set_info.pl -t tytuł -a autor -f słowa-kluczowe -f plik.pdf

Tytuł jest dodawany do tego co już jest w pliku PDF. Nie jest nadpisywany. Autor/Słowa kluczowe są nadpisywane. Uwaga: pakiet PDF::API2 nie jest mi bliżej znany, zatem trzeba uważać czy po zmianie Info plik PDF dalej da się oglądać.

url | Sun, 23/11/2008 11:47 | tagi: , ,