Results 1 to 8 of 8

Thread: bestand opslaag vanuit javascript

  1. #1

    bestand opslaag vanuit javascript

    (Delphi 2007)
    The programma vraagt informatie op via een externe webservice, die levert op de aangeleverde gegevens een URL terug waarmee ik (via Shellexecute) de default browser opstart - of een tab in de browser die op dat moment open staat (dat is in de meeste gevallen IE maar het kan ook Mozilla of Chrome zijn) en dat levert de informatie die gevraagd is.

    Nu heeft de getoonde pagina de mogelijkheid om de feitelijke inhoud op te slaan in een PDF bestand, via de javascript submit functie (waarop de browser zal vragen wat die ermee moet doen) of via een routine in de browser waarin die de pagina heeft aangeroepen; daarin kan dan direct actie worden ondernemen zonder tussenkomst van de gebruiker (bv. het document (het PDF bestand) opslaan in een database). Dat is uiteraard wat ik wil
    Dus moet ik een browser in het programma inbouwen; dat zou dan moeten kunnen met TWebBrowser of iets dergelijks, en in dat object zal ik die routine moeten opnemen.

    Dan zit ik echter vast aan Internet Explorer - niet zo'n probleem, biedt nog wat extra voordelen: Kan ik vanuit het programma ook de connectie-parameters voor beveiligde verbindingen (disable SSL, enable TLS) instellen voor die sessie (zonder de normale instellingen van IE (of Edge) te veranderen)? En is het voldoende de betreffende routine hierin op te nemen of is er nog iets specifieks nodig? (een voorbeeld zou handig zijn - ik heb nog niets gevonden wat me verder helpt).

    Een generiek object die deze acties kan uitvoeren ongeacht de browser (IE/Edge, Mozilla, Chrome....) is natuurlijk ook welkom.

    Willem
    .

  2. #2
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    De server de opdracht geven om de gewenste PDF terug te sturen via Indy is geen optie?
    Zit je niet vast aan een (lelijk/onhandig) browservenster en kun je alles direct vanuit Delphi regelen.
    (Moet je zelf even uitvogelen wat de server voor parameters verwacht -> WireShark).
    TMemoryLeak.Create(Nil);

  3. #3
    is inderdaad geen optie: Ik heb geen invloed op wat de server aan faciliteiten biedt, het gaat om een partner die de informatie ook aan andere software levert, daarom zit de code om de PDF aan te maken en aan te leveren in de pagina zelf.
    Een browservenster is overigens in dit geval zelfs wenselijk (en dus noodzakelijk)

  4. #4
    Moet het echt als pdf worden opgeslagen? Kan je niet gewoon de html pagina opslaan, zeker omdat je het in een database wilt opslaan.

  5. #5
    @Miep: Moet als PDF - daar zijn dwingende redenen voor. De inhoud van de pagina moet as-is - afgedrukt en verzonden kunnen worden. HTML voldoet niet. PDF is in wezen ook gewoon tekst, de database is erop ingericht.

    Ik heb wel een C# programma ontvanegn, daarin vind ik een form-attribuut "TheForm.ObjectForScripting = this". Volgens commenaar wordt daramee de functie herkenbaar voor javascript.
    Hoe vertaalt zich dat naar Delphi?

  6. #6
    How to call JavaScript functions in a TWebBrowser from Delphi : http://delphidabbler.com/articles?article=21

  7. #7
    Net andersom: vanuit Javascript een functie in Delphi aanroepen....het probleem lijkt me het aan javascript/de browser kenbaar maken van die functie. Ik heb al wel wat gevonden - het volgende artikel (http://www.delphidabbler.com/articles?article=22) laat zien hoe. (Waarom moet dat nou weer zo omslachtig )

  8. #8

    Opgelost

    Met de voorbeeldcode is het inderdaad gelukt - in Delpi.
    Er is echter een vervolg-issue

Thread Information

Users Browsing this Thread

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

Tags for this Thread

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
  •