2010. március 29., hétfő

Egregyi piros út

Tegnap kirándultam egyet. Otthon kinéztem egy geoládát a Máré-vár közelében, ami Szilváshoz légvonalban nem egészen 5 km, és elmentem oda. Persze a valóságban a táv turistautakon bő 10 km volt. Teljesen elfáradtam, mire a ládához értem, így a kinézett másik láda a Hidasi-völgy vízesésénél szóba sem jöhetett, pedig szépen útba esett volna Zobákpuszta felé.

Így a hazajövetel helyett elmentem a legközelebbi kocsmáig Magyaregregyen, hogy ott várjam meg a buszt. Ez csak alig 3 km-re volt a ládától. Két órát kellett várnom a pécsi buszig, amivel el is jöttem Zobákpusztáig, mert a komlóira még további 2 órát kellett volna várni. Időközben besötétedett, és a GPS-em is lemerült, sajnos elfelejtettem tartalék elemet bepakolni.

Szívem szerint az erdőn át mentem volna haza, de sötétben, lemerült GPS-el nem tűnt jó ötletnek. Így a műúton elballagtam a komlói autóbuszállomásig, ami további 5 km, így összesen 18 km-et sikerült megtennem.

2010. március 13., szombat

Erste Bank Hungary és a PDF formátum

Nagyon zavar, hogy Mac OS X Preview nem tudja megjeleníteni azokat a PDF fájlokat, amiket az Erste Bank az utóbbi időben elektronikus számlakivonatként küld. A tartalom helyett csak egy üres oldal jelenik meg. A problémát megemlítik a beszeljukmac.com oldalon is. Kicsit beleástam magam a PDF formátumba dokumentáció készítése végett, és elhatároztam, megpróbálom kideríteni a hiba okát. Úgy tűnik, hogy az Erste-féle PDF generátor a hibás.

A PDF nem egy bonyolult formátum, a dokumentum struktúrája viszonylag egyszerű: alapvetően egy objektumlista az egész. Az Erste Bank minden PDF-ében van egy objektum, amelynek a /Length paramétere hibás, gondolom valami hiba van a stream hossz számításában. Érdekes módon az Acrobat és a Foxit readere is gond nélkül megnyitja a fájlokat, és még a pdfHarmony webes ellenőrzője sem jelez hibát, pedig az Adobe 1.3-as PDF specifikáció szerint ennek az értéknek helyesnek kell lennie... Gondolom az Erste nem rendelkezik se rendes PDF validátorral (bár nem tudom, létezik-e egyáltalán ilyen), se Mac tesztgéppel így elkerülte a figyelmüket a hiba.

Szerencsére a probléma egy viszonylag egyszerű Python scripttel orvosolható. Ez egyszerűen átírja a könyvárban mellé tett PDF-ekben talált a hibás objektumok /Length paraméterét a helyes értékre. A hibátlan PDF-ekkel nem történik semmi. A hiba diagnosztizálása után sikerült a javításokat az open source pdfrw PDF olvasó modulba is applikálni (lásdd itt és itt).

Az új pdfrw, amely az rst2pdf hamarosan megjelenő 0.13-as verziójával jön, már tartalmazni fogja ezeket a módosításokat. Addigis SVN-el elérhető a javítás. Így egy még egyszerűbb scripttel is javíthatók az Erste PDF-ek:
#!/usr/bin/env python
# vim: encoding=utf-8
import glob, pdfrw
for pdfname in glob.glob('*.pdf'):
orig = pdfrw.PdfReader(pdfname)
new = pdfrw.PdfWriter()
for page in orig.pages:
new.addpage(page)
new.write(pdfname)
Köszönet az Erste Banknak, nélkülük ez a blogpost nem jöhetett volna létre.