[js/vbs] Pagina printen zonder header & footer

Pagina: 1
Acties:
  • 163 views sinds 30-01-2008
  • Reageer

  • bRight
  • Registratie: Juli 2000
  • Laatst online: 27-11-2024

bRight

digitaal

Topicstarter
Ik ben voor een project bezig om htmlpagina's te kunnen printen zonder lelijke header en footer.

Met een stukje VBscript wordt de pagesetup aangepast.
onUnload wordt de functie ResetPage() aangeroepen om de instellingen terug te zetten.

Nou ben ik niet zo'n held in VB, en laat ik de oude instellingen met een omweg onthouden met de jsfunctie MemorizeHeader(). Is het ook mogelijk om myHeader en myFooter als globale variabelen in de functie SetSettings() aan te maken?
Dat scheelt weer wat in de lengte van het script :)

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// variabelen initieren

var headerOriginal;
var footerOriginal;
var customSet = false;

function MemorizeHeader(myHeader, myFooter) {

    // oorspronkelijke instellingen onthouden

    headerOriginal = myHeader;
    footerOriginal = myFooter;
}

function ResetPage() {

    // header en footer resetten naar oorspronkelijke instellingen

    if (customSet) {
        ResetSettings(headerOriginal, footerOriginal);
    }
}

function PrintPage() {

    if (!customSet) {
        SetSettings();    // header en footer customizen
        customSet = true;
    }

    window.print();    // pagina printen
}


Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Sub SetSettings()

    Dim WSHShell
    Dim myHeader
    Dim myFooter
    Set WSHShell = CreateObject("WScript.Shell")

    myHeader = WSHShell.RegRead("HKCU\Software\Microsoft\Internet Explorer\PageSetup\header")
    myFooter = WSHShell.RegRead("HKCU\Software\Microsoft\Internet Explorer\PageSetup\footer")

    WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\PageSetup\header", ""
    WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\PageSetup\footer", ""

    call MemorizeHeader(myHeader, myFooter)

End Sub

Sub ResetSettings(myHeader, myFooter)

    Dim WSHShell
    Set WSHShell = CreateObject("WScript.Shell")

    WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\PageSetup\header", myHeader
    WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\PageSetup\footer", myFooter

End Sub

[ Voor 13% gewijzigd door bRight op 28-07-2004 20:14 . Reden: escapes in vbscript gefixed :) ]


Verwijderd

waarom vb?
en waarom niet met een printerstylesheet?

  • bRight
  • Registratie: Juli 2000
  • Laatst online: 27-11-2024

bRight

digitaal

Topicstarter
kan je met een printerstylesheet de header en footer disabelen dan?

Verwijderd

je kan elk element wel of niet laten zien, net wat je wilt, lettertypes herdefineren etc. Heb net de printerstylesheet voor een groot project af, daar zien de prints er echt compleet anders uit dan wat je op het scherm ziet.

-> http://www.w3schools.com/css/css_mediatypes.asp

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op 28 juli 2004 @ 20:03:
je kan elk element wel of niet laten zien, net wat je wilt, lettertypes herdefineren etc. Heb net de printerstylesheet voor een groot project af, daar zien de prints er echt compleet anders uit dan wat je op het scherm ziet.

-> http://www.w3schools.com/css/css_mediatypes.asp
Sinds wanneer kan je de header en footer regelen met true css?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • bRight
  • Registratie: Juli 2000
  • Laatst online: 27-11-2024

bRight

digitaal

Topicstarter
ik ben wel bekend met printerstylesheets, daar gaat het niet om..
Maar ik wil op mijn prints geen url, pagenumbers etc :)

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 01-10-2025
Je kan dan toch voor de elementen die je niet wil zien de property 'display' op 'none' zetten in de printerstylesheet? Dan is die header/footer zo weg. ;)
edit:
@mabit hieronder: aaaahhh zo'n header of footer, dat heb ik zo niet begrepen. Lijkt me dan idd een lastige klus dmv css ja. ;)

[ Voor 37% gewijzigd door Amras op 28-07-2004 20:47 ]


Verwijderd

Amras schreef op 28 juli 2004 @ 20:41:
Je kan dan toch voor de elementen die je niet wil zien de property 'display' op 'none' zetten in de printerstylesheet? Dan is die header/footer zo weg. ;)
Het gaat om die flauwekul die IE toevoegt bij het printen van een pagina, knappe jongen als je die via CSS ge-hide krijgt.

  • disjfa
  • Registratie: April 2001
  • Laatst online: 08-01 11:17

disjfa

be

Verwijderd schreef op 28 juli 2004 @ 20:43:
[...]
Het gaat om die flauwekul die IE toevoegt bij het printen van een pagina, knappe jongen als je die via CSS ge-hide krijgt.
En die voegt die niet toe als je een pagina printbaar opvraagt ipv een print stylesheet 8)7

Als je het echt zonder headers voor IE only op windows wilt doen kan je mbv activex word aanspreken. Maar je kan beter zoals al vele zeggen een print stylesheet maken.

disjfa - disj·fa (meneer)
disjfa.nl


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

ScriptX

dingen in het registry gaan wijzigen is niet zo tof...

Intentionally left blank


Verwijderd

ah, dan had ik dat verkeerd begrepen, maar waarom wil je in hemelsnaam die info weg hebben. Wel handig als je op je printje kan nalezen welke url het was en van weke datum enzo imho. Als users het niet mooi vinden zetten ze het zelf wel uit. Ik vind niet dat het aan de webbouwer is om te bepalen wat er voor extra meta info op m'n print staat.

Dit valt voor mij in dezelfde categorie als url cloaking, windows verplaatsen / schalen en met de status bar kloten

een heel andere aanpak is wellicht (dynamisch) pdf of word documenten te bouwen die kunnen worden uitgeprint, mocht het voor een een of andere webapp toch noodzakelijk zijn (ik denk dan aan het uitprinten van formulieren ofzo)

[ Voor 21% gewijzigd door Verwijderd op 28-07-2004 21:13 ]


  • bRight
  • Registratie: Juli 2000
  • Laatst online: 27-11-2024

bRight

digitaal

Topicstarter
pdf heb ik ook aan gedacht.. het gaat er iig om dat produktsheets geprint kunnen worden.
Dynamisch gegenereerd foldermateriaal dus, voor dealers.

Als het in html kan is dat mooi, anders moet ik maar ff een pdf library regelen..

@crisp: tnx voor de link :)

[ Voor 3% gewijzigd door bRight op 28-07-2004 21:53 ]


  • cutter
  • Registratie: November 2000
  • Laatst online: 28-09-2025

cutter

Wannabe i7 fanboy

Dan zou ik idd aan de pdf gaan. print != web namelijk. Met pdf kun je veel meer. En een pdf reader hoort volgens mij ongeveer tot de standaard bagage.

Klant gewoon laten kiezen: uitprinten van html, pdf laten genereren of laten mailen. Drie knopjes dus toevoegen. Je moet geen klanten gaan verliezen doordat virusscanners gaan gillen vanwege allerlei vage registry wijzingen die je toe wil gaan passen of je software van ze verlangt die ze niet hebben (word of acrobat).

Verwijderd

PDF heeft bij lange na geen 100% 'dekking' afhankelijk van de doelgroep (afgezien de tweakers) zit dat ongeveer tussen de 60 en 80%.

Veel makkelijker en sneller is om de te printen pagina via flash te laten genereren, hierbij heb je een aardige invloed op de layout van de pagina en voorkom je al die gare pagina nummers. Druk voor de grap maar eens een offerte af op de mycom website.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 19-04 12:29
HTML voelt erg snel aan heb ik altijd het idee. Imo is het handig als je een overzicht op je scherm ziet, je dit ook meteen uit kunt printen zonder een nieuw venster/pagina. Ook het afdrukvoorbeeld is meteen correct met CSS gebruik. Voor een eenvoudige productenlijst o.i.d. is het dus wel handig.

Folders e.d. zou ik echter gewoon PDF gebruiken omdat je zeker weet hoe het er uit gaat zien.
Pagina: 1