Toon posts:

[vb6] Totaal aantal pagina's van html document achterhalen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heej hoij,

Ik probeer in vb6 te achterhalen uit hoeveel pagina's een geopend html document bestaat. Ik heb al het een en ander geprobeerd met het webbrowser control maar dat mocht niet baten. Misschien is het mogelijk om het document naar een printer object te sturen en vanuit daar het aantal pagina's te lezen? Hoe dan ook, ik kom er zelf niet uit...suggesties?
Danku!

  • remco_k
  • Registratie: April 2002
  • Laatst online: 00:32

remco_k

een cassettebandje was genoeg

Verwijderd schreef op dinsdag 02 augustus 2005 @ 18:12:
Heej hoij,

Ik probeer in vb6 te achterhalen uit hoeveel pagina's een geopend html document bestaat. Ik heb al het een en ander geprobeerd met het webbrowser control maar dat mocht niet baten. Misschien is het mogelijk om het document naar een printer object te sturen en vanuit daar het aantal pagina's te lezen? Hoe dan ook, ik kom er zelf niet uit...suggesties?
Danku!
Hoeveel pagina's - wat voor pagina's?
Papier? A4, A3, A2 ? bij welke gebruikte lettergrootte?

Of pagina's op het scherm? Bij welke resolutie en welke lettergrootte? Wat voor browser?

Kortom, misschien kan je beter even aangeven wat je precies wilt bereiken en wat je uiteindelijke doel is voor deze info.

[ Voor 5% gewijzigd door remco_k op 02-08-2005 18:15 ]

Alles kan stuk.


Verwijderd

Topicstarter
remco_k schreef op dinsdag 02 augustus 2005 @ 18:15:
[...]

Hoeveel pagina's - wat voor pagina's?
Papier? A4, A3, A2 ? bij welke gebruikte lettergrootte?

Of pagina's op het scherm? Bij welke resolutie en welke lettergrootte? Wat voor browser?

Kortom, misschien kan je beter even aangeven wat je precies wilt bereiken en wat je uiteindelijke doel is voor deze info.
Het .html document kan je in dit geval gewoon zien als een lap tekst die uiteindelijk geprint moet worden. (Zie een vorig geopend topic van mij: [rml][ VB6] Html document printen *[/rml]). Maar nu wil ik graag een inhoudsopgave maken door steeds een stukje tekst aan het document toe te voegen en vervolgens te bekijken op welke pagina ik zit. De browser is gewoon het webbrowser control in vb6 zelf..leek me logies.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
"Uiteindelijk geprint moet worden" - je weet dus nog niet op welke printer? Dan kun je zeker niet zeggen hoeveel pagina's het zijn.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • remco_k
  • Registratie: April 2002
  • Laatst online: 00:32

remco_k

een cassettebandje was genoeg

Verwijderd schreef op dinsdag 02 augustus 2005 @ 18:21:
[...]


Het .html document kan je in dit geval gewoon zien als een lap tekst die uiteindelijk geprint moet worden. (Zie een vorig geopend topic van mij: [rml][ VB6] Html document printen *[/rml]). Maar nu wil ik graag een inhoudsopgave maken door steeds een stukje tekst aan het document toe te voegen en vervolgens te bekijken op welke pagina ik zit. De browser is gewoon het webbrowser control in vb6 zelf..leek me logies.
Oke, da's al een stuk duidelijker.

Vervolg op hierboven:
Uiteindelijk bepaald de printer(driver) hoe de pagina indeling word, tenzij expliciet anders aangegeven. Dus als jij een html doc wilt printen en je geeft er verder niet bij aan waar de pagina eindes moeten zitten, dan bepaald de printer driver dat en dan weet je pas echt zeker hoeveel pagina's iets word als je het print.

Het lijkt me niet ondenkbaar dat je eerst zelf de html pagina intern bekijkt en net doet alsof je die gaat printen, misschien kan je dan van de printerdriver opvragen om hoeveel pagina's het gaat en waar die pagina eindes zitten. Vervolgens zet je zelf die pagina eindes vast en geef je die bij de uiteindelijke print opdracht mee om er zeker van te zijn dat voorgaande klopt.
Hoe je dit nou echt zou moeten maken in VB - daar heb ik zo even niet de informatie voor je maar ik denk dat dit een aardige theorie zou zijn. (en da's toch waar je mee moet beginnen als je wat maken wilt.)

Edit:
Is het niet gewoon makkelijker en wellicht ook mooier als je het rapport in hoofdstukken opdeeld in plaats van pagina nummers? Zo heb je zelf alle invloed en kan de printerdriver lekker z'n ding doen waar ie voor bedoeld was. Bijv:


Inhoud:
1.0 Korte samenvatting In dit rapport ziet u de resultaten van ....
1.1 Meetresultaten Zoals gemeten in de testopstelling ...

2.0 Naslagwerk De dikke irritante van Dale...

3.0 Conclusie Waarschijnlijk is de uitkomst van dit rapport werkelijk waar volledige onzin ...

[ Voor 17% gewijzigd door remco_k op 02-08-2005 23:57 ]

Alles kan stuk.


Verwijderd

Topicstarter
Hoofdstuknummers is inderdaad een makkelijke oplossing, maar die paginanummers zouden het wel een stuk mooier maken.
Dat het aantal pagina's pas bekend wordt als je het document naar een printer(driver) stuurt snap ik, daarom vroeg ik me ook af of je dit zou kunnen achterhalen met bijvoorbeeld het printer object in vb? Dat ding neemt toch altijd standaard de standaard-printer?
Ik vraag me ook af of je wel een document zou kunnen sturen en er dan voor zou kunnen zorgen dat deze niet wordt afgdrukt...

Naar aanleiding van dit alles ben ik nog even gaan googelen in ben nu het volgende aan het doornemen: http://www.vbcity.com/forums/faq.asp?fid=9&cat=General Maar ik heb nog steeds geen oplossing.

edit:
code:
1
2
3
4
5
6
7
8
9
10
Private Sub CmdGo_Click()
    
    txt(0).Text = Printer.Page                 '=1
    txt(1).Text = Printer.Height               '=16834
    txt(2).Text = Printer.TextHeight("a")   '=187
    txt(3).Text = Printer.ScaleHeight * 0.8 '=13105,6
    '567twips = 1cm
    txt(4).Text = txt(3).Text / 567         '=23,1139329805997
    
End Sub

[ Voor 24% gewijzigd door Verwijderd op 03-08-2005 14:37 ]

Pagina: 1