[JS] Snel afdrukken embedded PDF vanuit webpagina

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een webpagina met een embedded PDF file. (iframe + Adobe Reader)

Beschikt Adobe Reader over een soort API waarmee ik bepaalde functies vanuit de webpagina (bij voorkeur middels JavaScript) kan controleren?

Ik zou namelijk graag in de webpagina een knop hebben om de geladen PDF af te drukken, i.p.v. dat de bezoeker het print knopje in Adobe Reader hoeft aan te klikken, en vervolgens nog eens het Print Dialog venster moet bevestigen.

lees: Adobe Reader ondersteunt embedded Javascript, maar hier heb ik dus niets aan omdat ik de PDF's niet kan wijzigen. Het moet dus echt een extern Javascriptje kunnen zijn die de PDF print.

Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Je hebt sowieso niet de controle over of de PDF wel of niet in dat iframe laadt, omdat je niet weet welke browser er gebruikt wordt, én helemaal niet zeker weet dat de reader van Adobe gebruikt wordt.

Wie weet opent de browser wel een losse reader en dan zit je met een lege iframe. Mocht de browser toevallig doen wat jij wilt, dan heb je een externe applicatie in dat iframe en geen browser-window meer.

En javascript kent geen mogelijkheden om externe applicaties aan te spreken.

Buiten dat, waarom wil je dit eigenlijk? Een gebruiker behoort zelf te kunnen bepalen of hij iets vanaf z'n scherm leest, of het afdrukt. En wederom is het dan aan de applicatie om de printknop met of zonder print-dialoogje te presenteren.

Sterker nog, in zo'n geval is het embedden van een reader in een iframe ontzettend verwarrend, omdat je dan een knoppenbalk van de browser krijgt, én een knoppenbalk van de reader in dat iframe (als dat werkt). Twee printknoppen dus, als de browser er ook een heeft. Als je dát probleem wilt omzeilen, dan heb je een denkfout gemaakt :) Marr ik hoop dat je je hier in elk geval van bewust bent.

[ Voor 20% gewijzigd door _Thanatos_ op 18-05-2009 14:53 ]

日本!🎌


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 10:43

Matis

Rubber Rocket

_Thanatos_ schreef op maandag 18 mei 2009 @ 14:50:
Je hebt sowieso niet de controle over of de PDF wel of niet in dat iframe laadt, omdat je niet weet welke browser er gebruikt wordt, én helemaal niet zeker weet dat de reader van Adobe gebruikt wordt.
Ikzelf gebruikt Foxit, en die laadt nooit in een browser. Altijd extern.

Daarbij wil ik ook nog wel weten waarom jij de gebruiker wilt forcen op iets af te drukken. Waarschijnlijk wordt dat toch weggemoffeld, omdat een browser bijna geen rechten heeft.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

Verwijderd

een lelijke oplossing: (?)

Met pdf en de imagemagick (of hoe heet die library) van je pdf een png maken om vervolgens iets met javascript print te doen?

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Nu online

orf

Je kunt wel degelijk JavaScript gebruiken om een PDF af te drukken. De Adobe reader heeft een JS API.
Zie dit voorbeeld:

http://www.fpdf.org/en/script/ex36.pdf

source

Edit: Niet helemaal goed gelezen. Serverside (bijvoorbeeld met PHP) kun je de PDF inlezen en outputten met JS erbij.

[ Voor 20% gewijzigd door orf op 18-05-2009 21:07 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
orf schreef op maandag 18 mei 2009 @ 21:06:
Je kunt wel degelijk JavaScript gebruiken om een PDF af te drukken. De Adobe reader heeft een JS API.
Zie dit voorbeeld:

http://www.fpdf.org/en/script/ex36.pdf

source

Edit: Niet helemaal goed gelezen. Serverside (bijvoorbeeld met PHP) kun je de PDF inlezen en outputten met JS erbij.
Thanx!

Jammer dat het niet vanaf clientside kan, maar op zich is het wel zo verstandig om het inderdaad te parsen in de PDF zelf. Anders word je afhankelijk van de aanwezig van Adobe Reader, dat is idd geen goede keuze. Zit dus niets anders op dan de bestaande PDF in te lezen (middels FPDF) en opnieuw te streamen, inclusief het js-print-commando.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28
Ik zou namelijk graag in de webpagina een knop hebben om de geladen PDF af te drukken, i.p.v. dat de bezoeker het print knopje in Adobe Reader hoeft aan te klikken, en vervolgens nog eens het Print Dialog venster moet bevestigen.
Dat laatste kun je en wil je imho ook niet onderdrukken. Mensen mogen toch wel bijvoorbeeld kiezen hoe ze hun document uitprinten, of op welke printer?

Wat gebeurt er trouwens als je gewoon de window.print() functie aanroept op het iframe?

[ Voor 10% gewijzigd door Bosmonster op 19-05-2009 10:56 ]

Pagina: 1