Hej hej ni glada :) http://www.pellesoft.se/area/articles/article.aspx?artid=969 Skulle rekommendera att du kollar lite på SQLServer Reporting Services annars. Det använder vi oss av i ett projekt för att skapa pdf-rapporter utifrån data i en SQLServer databas och det funkar bra för oss. Hej! Mitt förslag (som vanligt om det handlar om saker som på ett eller annat sätt ska ha exakta formateringar) är att använda LaTeX. jag kör en latex server som gör pdfer. Hej Axel och Niklas! jag kör den lösningen precis, har egentligen 2 lösningar - en asp och en dcom. om du kör vs2005 kan du använda detta reportview.PDF-rapport
Håller på med ett litet rapportsystem som jag skulle behöva lite hjälp med.
System utvecklas som en webbapplikation i ASP.Net 2.0 med SQL Server 2000 som backend. Webbapplikationen ska från data i en databas skapa en rapport i pdf format om en viss produkt ett visst företag tillverkar.
Jag har aldrig skapat rapporter mer än den hårda vägen där jag i kod kodat att på position 10px från left, 20px från top ska bilden x sitta osv. Därför frågar jag här.
Rapporten som ska skapas består i princip av fyra delar:
http://www.tfd.chalmers.se/~johansss/misc/060831-10xx_DOC_Template.pdf
1. Sidhuvud
Här finns information om företaget (bl.a namn och logotype) som hämtas från en tabell i min databas
kallad 'CompanyDetails'. Här finns också sidnummer på rapporten osv.
2. Överskrift med text
Här är överskriften på rapporten, som är fast och aldrig kommer ändras. Här finns också ett litet textstycke som ska hämtas från databasen. Detta textstycke är några rader i storlek 12 arial, och på flera språk. Antalet språk som ska visas beror helt enkelt på om det i databasen finns data för olika språk.
Här finns också en rad med namn på produkten och en rad med produktens artikelnummer.
3. Innehåll
Här börjar själva detaljerna. Detta ska vara dynamiskt. I dagsläget ska fyra stycken skapas på fyra olika språk. Varje stycke har en rubrik och en förklarande text, rubriken är på engelska och den förklarande texten är på olika språk. För varje stycke finns det efter texterna på olika språk
en tabell eller ett textstycke med data.
4. Sidfot
Liknande sidhuvud.
Min undran är hur jag skapar rapporten. Jag har kollat lite på crystal reports men det verkar lite overkill,
har också kollat ActiveReports en del, samt WebReports från componentone.
Är det någon här som har nån bra idé? eller erfarenheter av liknande projekt?
Jag är öppen för förslag, enda kravet är att en pdf fil ska skapas och att jag kan styra innehållet i rapporten på ett smidigt sätt från min kod. Sen finns det självklart en kostnadsaspekt med... men den bör inte bli nåt problem.
/Bästa hälsningar
StefanSv: PDF-rapport
Fungerar bra för mig :-)Sv:PDF-rapport
http://www.microsoft.com/sql/technologies/reporting/default.mspxSv: PDF-rapport
Och tack för förslagen :) Jag har kollat in båda ovanstående.
SQL Reporting Services verkar intressant så kollar vidare...
Jag har också hittat en .Net komponent som jag tycker verkar greja det jag vill. TallPDF,
http://www.tallpdf.net/. Finns det någon här som provat denna?
/Mvh StefanSv:PDF-rapport
I och med att det är ett mycket reguljärt språk så är det lätt att generera information för det. Det finns desstuom under i princip alla plattformar.
All formatering kan du styra med makron i början och vips så har du en skitfin rapport bara du petar ut saker i rätt ordning.Sv: PDF-rapport
funkar mycket bra - trådsäkert är det också (kör miktex).
bara att porta till en multiuser asp tjänst.Sv: PDF-rapport
LaTeX skulle vara kalas om det gick att använda! :)
Men hur implementerar jag detta på en IIS server med ASP.net ???
Att installera miktex på servern och sedan anropa .exe filen känns inte helt rätt? Säkerhet? Rättigheter? Jag är väldigt grön på webbapplikationer så därför får ni gärna förklara mer om ni har tid :)
/Mvh
StefanSv:PDF-rapport
hur som, de funkar ju i stort sett på samma sätt.
det går utmärkt att låta flera personer samtidigt köra latex.exe filen, dvips.exe filen etc.
det är trådsäkert. gör en vb komponent activex.exe och kapsla in latex i det.
antingen genom wscript eller en klass som redirectar std input och output från dos till vb - smaksak.
vidare sätter du thread per object (bocka i rutan)
det enda du skall tänka på är att låta varje användare ha sin egen folder för input, output och latex & dvips temporära arbetsfiler. gör cd kommandot i vb, mata miktex med rätt parametrar!
vi kör ca 40 användare på mijn lösning, det funkar splendid.
men jag får erkänna att det var trial and error och en del kommunikation med miktex gubbarna innan...vor orolig att flera samtida exekverande latex.exe och dvips.exe skulle kollidera minnesmässigt.
nu har vi tom validerat applikationen och det enda jag kan säga är att det funkar bra.
operativet sköter om minnesallokeringen givetvis, det man kan vara orolig för är att .exe applikationer kan vara programmerade med fasta minnesytor. då skulle kollission vara ett faktum vid samtida användare.
men nästan alla seriösa unix applikationer som är portade till windows har dynamisk minnesallokering, i och med att man i unix måste ha det då det är multiuser.Sv: PDF-rapport
http://www.codeproject.com/useritems/rsweb101.asp
ett problem som jag stött på är att då du vill exportera en rapport som innehåller grafer till pdf blir dessa extremt stora. Men om du ej använder grafer som är detta ett bra verktyg.
du behöver installer reportviewer assemblies på den dator som ska visa upp rapporten.