Avatar billede LIFA-lin Praktikant
09. marts 2018 - 10:09 Der er 6 kommentarer

PDF-bibliotek til skabelse af dokumenter direkte på disken uden memory cache ?

Hej Eksperter.

Så vidt jeg forstår PDF-formatet, så er det ret sekventielt (ligesom HTML), og kan principelt skrives direkte til disken uden videre. Men stort set alle biblioteker til dette opbygger en objektstruktur i memory før eksport til disk. Dette giver potentielt problemer ift. meget store PDF'er, både i størrelse og indhold.

Findes der et .Net bibliotek til at oprette og skrive PDF-filer på den måde ? Dvs direkte til en ikke-cached file stream ?

Eller griber jeg problemet helt forkert an ?

/Lars
Avatar billede jakobdo Ekspert
09. marts 2018 - 10:12 #1
Hvad med at vende din udfordring rundt.
Tag et helt almindeligt pdf library.
Virker det, så brug det.
Oplever du problemer (med store og tunge pdf'er), så find et der gør det bedre.
Men indtil da, så tag den "nemme" og hurtige løsning.

Du kan jo lave nogle tests på den nemme og hurtige løsning.
Måske problemet kun er teoretisk. :)
Avatar billede LIFA-lin Praktikant
09. marts 2018 - 10:24 #2
Nej, problemet er erkendt og ikke teoretisk.
Avatar billede Slettet bruger
09. marts 2018 - 12:10 #3
jeg sku nok mene at en pdf er bygget af klumper structs..
det er helt naturligt som programmør, at jeg skriver hele min databuffer til disk, en komplet struct/chunk.

det bille være meget unaturligt at skrive 30% at et array til disk, for så at tage resten i 2 bidder mere. jeg bearbejder bare mine data, og så kan jeg skrive den store klump, når den er komplet, og skal gemmes.

du snakker om at gøre noget unaturligt som programmør..

jeg kender ingen libraries er kan det du vil have, har du forsøgt amerikanske expertforums i pdf ?
Avatar billede Slettet bruger
09. marts 2018 - 12:13 #4
jeg ville skrive til disk efter hver enkelt side er komplet, på den måde mister jeg ikke en bunke sider ved io fejl, og måske mister mit arbejde, pga ram/io fejl/filfejl. jeg mener selve filrutinerne... det er jo også dem du mener. for sikkerhedens skyld, ville jeg gemme 1 komplet side, af gangen.
Avatar billede arne_v Ekspert
10. marts 2018 - 00:49 #5
Problem-stillingen kendes fra XML hvor der baade er in memory biblioteker (DOM baseret) og diverse event/stream baserede biblioteker. Hvor de sidste er gode, hvis man skal processe GB af XML.
Avatar billede arne_v Ekspert
10. marts 2018 - 01:40 #6
Det er imidlertid ikke nemt at finde et .NET bibliotek som tilbyder en PDF stream write funktionalitet.

Det bedste jeg kan finde er et kommercielt bibliotek der ser lovende ud:

https://docs.telerik.com/devtools/wpf/api/html/t_telerik_windows_documents_fixed_formatproviders_pdf_streaming_pdfstreamwriter.htm

Saa vidt jeg kan skriver man en side af gangen med den.
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

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