Avatar billede everclear Praktikant
19. juni 2006 - 17:04 Der er 16 kommentarer og
1 løsning

Opret PDF-fil

Jeg sidder og er ved at kode et system, der varetager ordrer osv for en kunde. Jeg vil gerne kunne generere en PDF-fil ud fra en Stored Procedure. F.eks. vil jeg gerne kunne udskrive alle kunder, alle ordrer, ordrer i en given periode osv. Jeg kan få disse data returneret som en SqlDataReader eller et DataSet; men hvordan får jeg dem udskrevet til en pdf fil?

Er der nogen, der har nogen erfaring med dette i C#? Det skal helst være gratis og forholdsvist nemt at gå til.
Avatar billede arne_v Ekspert
19. juni 2006 - 17:34 #1
iTextSharp maaske
Avatar billede arne_v Ekspert
19. juni 2006 - 17:37 #2
Avatar billede everclear Praktikant
19. juni 2006 - 23:14 #3
Jeg synes jeg har hørt tale om, at man kan gøre det direkte fra .NET igennem Crystal Reports. Er det helt ved siden af?
Avatar billede arne_v Ekspert
20. juni 2006 - 01:03 #4
Jeg har ingen anelse om hvad man kan med Crystal Reports.
Avatar billede suppenudel Nybegynder
20. juni 2006 - 09:51 #5
Kan I se noget dokumentation til iTextSharp, synes ikke jeg kan finde det derinde?
Avatar billede arne_v Ekspert
20. juni 2006 - 13:07 #6
man kan downloade noget examples tutorial
Avatar billede everclear Praktikant
20. juni 2006 - 14:09 #7
Jeg prøver lige at kigge lidt på den:-)
Avatar billede suppenudel Nybegynder
20. juni 2006 - 17:01 #8
De er faktisk ok :-) Er der nogen der ved hvordan man "launcher" PDF-filen efter den er blevet genereret? Altså så den evt. åbner i et nyt browservindue. Som den ligger nu er den bare gemt i en mappe på serveren.
Avatar billede arne_v Ekspert
20. juni 2006 - 18:33 #9
du kan enten lave link til den genererede PDF eller serve PDF filen via et script
Avatar billede suppenudel Nybegynder
20. juni 2006 - 19:03 #10
Hvis den helst skal åbne af sig selv lige efter den er genereret. Har prøvet at smide

System.Diagnostics.Process.Start(Server.MapPath("dokumentet.pdf"))

Ind efter genereringen, som en har foreslået, men der sker ikke noget.
Avatar billede arne_v Ekspert
20. juni 2006 - 19:07 #11
den kommando forsoeger at aabne PDF filen paa serveren

det kan du ikke bruge til noget

kan du lade genererings scriptet vise den ? eller skal det give en status tilbage ?
Avatar billede everclear Praktikant
20. juni 2006 - 22:32 #12
Jeg har ihvertfald fået det til at virke med at generere en PDF fil.....det er jo alt for lækkert:-)
Hvis du smider et svar arne_v, så er der point......og tusind tak for hjælpen:-)
Avatar billede arne_v Ekspert
20. juni 2006 - 22:48 #13
ok
Avatar billede suppenudel Nybegynder
20. juni 2006 - 23:24 #14
Genereringsscriptet kører efter denne model:

PdfWriter.GetInstance(doc, New FileStream(Server.MapPath("dokumentet.pdf"), FileMode.Create))
  doc.Open()
    'add ting til doc
  doc.close()

Jeg kan ikke umiddelbart finde en funktion der kan vise den. En lignende udbyder jeg prøvede havde en funktion der hed doc.save() som så kunne gemme den genererede fil på ens harddisk.
Avatar billede arne_v Ekspert
21. juni 2006 - 02:06 #15
hvis du kan tillade dig at returnere PDF filen i genererings scriptet så
sætter du Response.ContentType og sender filens indhold som byte array med
Response.BinaryWrite
Avatar billede suppenudel Nybegynder
22. juni 2006 - 12:12 #16
Hmm.. Der er jeg ikke helt med. Hvordan sætter jeg det hvis doc er dokumentet, og skal det sættes efter jeg har lavet doc.close() ?
Avatar billede arne_v Ekspert
22. juni 2006 - 13:21 #17
ja

for du skal læse filen op i et byte array
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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