Avatar billede Slettet bruger
02. maj 2008 - 08:38 Der er 8 kommentarer og
1 løsning

Prompt i Firefox i AspPDF

Hej, jeg leger med at lave database-udtræk til PDF-filer vha. AspPDF. Det virker sådan set ok, men jeg har dog flg. problem:

Man kan bruge SaveHttp, så genereres pdf-dokumentet on the fly og gemmes ikke på serveren via disse to metoder:

Doc.SaveHttp "filename=dokument.pdf"
eller
Doc.SaveHttp "attachment;filename=dokument.pdf"

Ved sidstnævnt skal siden prompte brugeren (så vedkommende kan vælge enten at åbne el. gemme dokumentet), mens den første metode blot åbner dokumentet inde i browseren.

Problemet er - der kommer ingen prompt i Firefox ved metode 2 (som jeg ønsker at bruge). Dokumentet bliver i stedet automatisk gemt på mit skrivebord - uden nogen form for notifikation til brugeren. Resultatet er selvfølgelig tit at en bruger så klikker igen og igen og ser først senere de mange kopier af dokumentet på sit skrivebord. Det er træls :-) Det er i øvrigt ikke min kode, den er gal med, det sker også på Persists (producenten) egen hjemmeside: http://support.persits.com/pdf/demo_invoice.asp

Er der nogen der kan komme på en work-around, så jeg kan få min prompt?!
Avatar billede solle Nybegynder
02. maj 2008 - 10:59 #1
Prøv at lave dit dokument sådan her:

<%
'... kode for oprettelse af object, dokument etc...
binary_data = Doc.SaveToMemory()  '<-- Er ik sikker på det er den rigtige funktion!?!

Response.ContentType = "application/pdf"
Response.AddHeader "content-length", UBound(binary_data) - LBound(binary_data) + 1
Response.AddHeader "content-disposition", "attachment; filename=fil.pdf"
Response.BinaryWrite binary_data

%>
Avatar billede Slettet bruger
02. maj 2008 - 11:17 #2
Hmm, der er ingen forskel, der kommer ingen prompt. Den genererer fint dokumentet, men smider det på desktoppen...

I Internet Explorer virker både din og den originale løsning fint nok... Det er kun firefox der giver problemer...
Avatar billede Slettet bruger
02. maj 2008 - 11:25 #3
Hmm, har lige fået en kollega til at teste, og hun får prompten... Så det er nok noget lokalt i mine firefox-settings...!?
Avatar billede solle Nybegynder
02. maj 2008 - 11:31 #4
kan kun påstrege at jeg ingen problemer har i FF (v1.5.0.9) med brug af min kode!

(har dog ikke prøvet med din komponent)
Avatar billede Slettet bruger
02. maj 2008 - 11:35 #5
Hmm - har lige fjernet action'en under manage filetypes, og nu virker det igen... bizart!

Kan du måske løse flg. i stedet; jeg bruger database-udtræk, men hvis jeg vil skrive på selve siden bruger jeg:

Page.Canvas.DrawText "Tekst", TextParam, Font

Hvordan sætter jeg et linieskift ind?

Tak for hjælpen!
Avatar billede solle Nybegynder
02. maj 2008 - 11:45 #6
har du prøvet med VbCrLf ?

Page.Canvas.DrawText "Linje1"& VbCrLf &"Linje2", TextParam, Font

?
Avatar billede solle Nybegynder
02. maj 2008 - 11:47 #7
kiggede lige i dokumentationen...

sæt parameteren "HTML=True", så skal du kunne bruge <br> til linjeskift :)

Læs: http://www.asppdf.com/manual_06.html#6_4
Avatar billede Slettet bruger
02. maj 2008 - 12:09 #8
Det er godt nok lidt tricky at lege med, men ja, det er jo netop det jeg må gøre :-) Tusind tak for hjælpen so far... svar gerne for point.
Avatar billede solle Nybegynder
02. maj 2008 - 12:21 #9
keine problem ;)
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