Hallo Jörg,
ich hatte mich heute vormittag mal mit dem Problem beschäftigt, und ich glaube, da gibt's keine gute Lösung.
Was Du nicht gesagt hast und was hier keiner gemerkt zu haben scheint: dein Problem ist ja nicht das vertikale Scrollen. Das gelingt auch am Smartphone durch touch auf den darübergelegten <a> Layer.
Das Problem ist das horizontale Scrollen auf dem Handy-Bildschirm, wenn das PDF zu breit ist und man es nicht vollständig lesen kann. Das geht nur, wenn man in den obersten 200px berührt und hin- und herschiebt. Diese Info musste ich erstmal selbst herausfinden.
Ich wollte dann erstmal das tun, was man heute für jede Webseite tun sollte: den Viewport setzen (<meta name="viewport" content="width=device-width, initial-scale=1.0">
). Ohne diese Angabe simulieren die Browser einen 960px breiten Screen und dadurch werden die 200px, die oben frei sind, auf 100px oder weniger herunterskaliert.
Ich hatte das PDF auch schon auf <object> umgestellt, um den iframe zu vermeiden. Und es mit CSS gestyled, auf height:100%. Den Body hatte ich auf min-height:2000px gesetzt.
Folge: Das Objekt war nur noch 150px hoch. In Chrome und Firefox. Ich musste es mit Gewalt, sprich: height:2000px, auf die richtige Höhe zwingen.
Aber in der simulierten Mobilansicht sieht das alles scheußlich aus, bzw. der View tut nicht was er soll. Das Phone verkleinert die Ansicht, um ja das ganze PDF zu zeigen. Unter dem PDF ist leerer Raum, den ich nicht bestellt habe - keine Ahnung was passiert. Ob das ein Bug im Mobilsimulator ist (ist in Chrome und FF passiert). Das object wieder durch iframe zu ersetzen hat auch nichts geändert. Vielleicht ist auch einfach einer der Lehmziegel im PDF Viewer verrottet.
Ich habe aber auch keine Lust, alles hochzuladen und auf meinem Android Phone zu testen. Ich weiß auch nicht, was es bringt - man muss das Verhalten offenbar auf mehreren Phones testen.
Deshalb habe ich keine Idee für Dich, die unterbreitungsreif wäre.
Rolf
sumpsi - posui - obstruxi