Avatar billede mercutio Nybegynder
15. september 2004 - 17:04 Der er 18 kommentarer og
1 løsning

Hejsa. Jeg har ved hjælp af Jasper dannet en pdf nu vil jeg sende

Min opgave er:

Når brugeren trykker på print. Så skal der dannes en pdf fil som brugeren så skal få vist i sin browser. Jeg har dannet en pdf fil ved hjælp af jasper reports. Jeg kan også godt gemme den på disken og se den men det har jeg ikke brug for. Brugeren skal nemlig bare se pdf filen og printe den ud eller gemme den på sin disk. Hvordan gør jeg det?

Jeg har lige nu min pdf fil i et byte array
byte[] bytes
Avatar billede mercutio Nybegynder
15. september 2004 - 17:17 #1
Jeg skal måske lige skrive. Løsningen kører på en websphere server
Avatar billede arne_v Ekspert
15. september 2004 - 18:53 #2
Altså nu har jeg ikke prøvet det men her kommer en ide.

Det nye JDK 1.4.x print API.

Artikel: http://www-106.ibm.com/developerworks/java/library/j-mer0322/

Den siger at den understøtter PDF.

Den skal have en InputStream, men formentlig er en ByteArrayInputStream lige så
god som en FileInputStream.

Største problem er nok JDK 1.4.x, da WAS stadig kører 1.3.1, så vidt jeg ved.
Avatar billede mercutio Nybegynder
15. september 2004 - 22:15 #3
Vil det sige jeg bliver nød til at gemme filen på disken inden jeg kan vise den til brugeren i en browser?
Avatar billede arne_v Ekspert
15. september 2004 - 22:16 #4
#Den skal have en InputStream, men formentlig er en ByteArrayInputStream lige så
#god som en FileInputStream.
Avatar billede mercutio Nybegynder
15. september 2004 - 22:29 #5
ja men det kunne kun lade sig gøre hvis vi kørte 1.4.x ?
Avatar billede mercutio Nybegynder
15. september 2004 - 22:30 #6
kan jeg ikke få dig til at lave et lille kode eksempel jeg tror ikke jeg er helt med...
Avatar billede arne_v Ekspert
15. september 2004 - 22:30 #7
Desværre - hele javax.print er nu i 1.4
Avatar billede mercutio Nybegynder
15. september 2004 - 22:34 #8
Bare lige for at være sikker på at du ved hvad jeg vil. Så er det i en servlet jeg modtager et post fra en jsp side og tilbage igen vil jeg bare vise brugeren en pdf fil i brugerens browser. Men for at løse det på vores nuværende platform bliver jeg nød til at gemme filen på serveren først for så at læse den og sende den til brugerens browser ?
Avatar billede arne_v Ekspert
15. september 2004 - 22:38 #9
Jeg har da vist misforstået spørgsmålet.

Du vil ikke printe PDF filen - du vil sende den til browseren ?
Avatar billede mercutio Nybegynder
15. september 2004 - 22:40 #10
lige præcist. Phew jeg syntes nok det blev lidt forvirrende =)
Avatar billede arne_v Ekspert
15. september 2004 - 22:40 #11
Det er nemt:

response.setContentType("application/pdf");  // check lige om den er rigtig
response.getOutputStream().write(bytearraywithdata);
Avatar billede mercutio Nybegynder
15. september 2004 - 22:41 #12
forstår godt du har misforstået det jeg har skrevet... "når brugeren trykker på print" sorry.
Avatar billede mercutio Nybegynder
15. september 2004 - 22:48 #13
Hvordan får jeg sat længden ?
Jeg plejer at skulle sætte længden på det jeg skriver til browseren hvis jeg læser det fra en fil.
Avatar billede mercutio Nybegynder
15. september 2004 - 22:50 #14
har fundet ud af det. Nu spiller det. Tak for hjælpen =)
Avatar billede mercutio Nybegynder
15. september 2004 - 22:50 #15
Laver du lige et svar?
Avatar billede arne_v Ekspert
15. september 2004 - 22:52 #16
Men prøv bare at lave en srevlet som returnerer den.
Avatar billede arne_v Ekspert
15. september 2004 - 22:53 #17
Du har fundet:

response.setContentLength();
Avatar billede arne_v Ekspert
15. september 2004 - 22:53 #18
svar
Avatar billede mercutio Nybegynder
15. september 2004 - 23:10 #19
Det er ikke første gang du hjælper mig =) tak for det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester