Results 1 to 8 of 8

Thread: PDF uit database tonen

  1. #1

    PDF uit database tonen

    Hallo,

    Ik heb een PDF bestand als blob opgeslagen in een SQL database. Is er makkelijke manier om dit PDF bestand te tonen in Delphi zonder dure componenten. Natuurlijk kan ik de stream eerst als bestand opslaan als tempfile maar dat heeft niet mijn voorkeur.

    Groet, Pascal

  2. #2
    Heb het zelf nooit gebruikt, maar volgens mij kun je Adobe embedden in je applicatie. Misschien dat als je zoekt op Delphi + pdf + ActiveX dat je wat verder komt. Eindgebruiker moet dan denk ik wel adobe reader installeren om de boel werkend te krijgen.

  3. #3
    Quote Originally Posted by luigi View Post
    Heb het zelf nooit gebruikt, maar volgens mij kun je Adobe embedden in je applicatie.
    Kans is dan wel groot dat je alsnog met tijdelijke bestanden moet gaan werken om een PDF in die embedded-versie te krijgen.

    Ik sla wel zelf een bestand op in %temp% en start dan gewoon de standaard-viewer voor PDF. Dat kan dan bij de meeste mensen Edge zijn of Adobe Reader. Maar ook Foxit o.i.d.

    Delphi Code:
    1. function ExecAssociatedApp(const FileName: string; Action: string = ''): boolean;
    2. var
    3.   rs: Word;
    4.   Shw: integer;
    5. begin
    6.   Shw := SW_SHOW;
    7.   rs := ShellApi.ShellExecute(0, pchar(Action), pchar(FileName), nil, nil, Shw);
    8.   Result := rs > 32;
    9. end;
    10.  
    11. //...
    12.  
    13. if not ExecAssociatedApp(FileTemp) then
    14. begin
    15.   ShowMessage('Fout bij het bekijken van de PDF.' + #13 + 'Is er een PDF-reader geïnstalleerd?');
    16.   // ...
    17. end;

    Natuurlijk is een embedded component "netter" maar dan moet je maar net hopen dat ze geen complexe PDF hebben die in dat component "raar" getoond wordt.

  4. #4
    Ik heb me er bij neer gelegd dat ik met een temp file moet werken. Verder weet ik dat elke gebruiker Acrobat heeft geïnstalleerd aangezien we in een VDI omgeving werken. Wel heb ik een aanvullende vraag:

    Hoe kan ik de TAcroPDF weer legen? Dus als er ik een record opvraag zonder kopiecontract hoe kan ik er dan voor zorgen dat de TAcroPDF weer leeg wordt gemaakt?

    KopieContract.LoadFromFile('');
    KopieContract.src := '';

    heb ik allebei geprobeerd maar zonder resultaat.

    Nog suggesties?

  5. #5
    Misschien dit:
    Delphi Code:
    1. KopieContract.LoadFromFile('ik_besta_niet.pdf');
    Dus een NIET bestaande pdf proberen te laden.

  6. #6
    I7 7700K 32Gb Win10 Pro Wok's Avatar
    Join Date
    Dec 2002
    Location
    Alkmaar
    Posts
    1,863
    Ken je deze link: easiest-way-to-show-pdf-file-in-delphi/
    Voorbeeld staat op die website
    10.1, Delphi2010, of Lazarus 1.8.4

  7. #7
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,351
    Uit mijn recente onderzoek bleek dat de huidige acrobat reader niet meer werkt met active componenten.
    Delphi is great. Lazarus is more powerfull

  8. #8
    Quote Originally Posted by jkuiper View Post
    Uit mijn recente onderzoek bleek dat de huidige acrobat reader niet meer werkt met active componenten.
    Het lukt hier prima met de laatste Acrobat Reader.

Thread Information

Users Browsing this Thread

There are currently 2 users browsing this thread. (0 members and 2 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •