vorlage seitenabstand beim drucken

  • hallo.

    ich hab die aufgabe bekommen, eine bestehende vorlage etwas zu verändern. ich soll aber nicht am original arbeiten, also hab ich (in ermangelung einer kopier-funktion) den quelltext der "alten" kopiert, eine neue (leere) erstellt und dort eingefügt. nun besteht das problem, daß der ausdruck der neuen nicht genau so aussieht wie der ausdruck der alten (und das trotz 100%ig gleichem quelltextes). bei der neuen ist der rand um den inhalt an jeder seite 4cm breit, bei der alten sind es nur jeweils 2cm. soweit ich das überprüfen konnte sind auch alle anderen einstellungen der beiden vorlagen gleich, also wo besteht der unterschied? wieso sieht die neue anders aus als die alte?
    der seitenrand wird im quelltext selbst festgelegt, jeweils auf 2cm. bei der neuen scheint mir tobit den systemweit festgelegten rand für den drucker (der für jede anwendung gilt) zu beachten, bei der alten scheint er ignoriert zu werden. wie kann das sein? wenn ich den quelltext in ein html-dokument kopiere und im internet explorer öffne, wird beim druck auch jeweils ein 4cm-rand erstellt (bei beiden, da sie ja den selben quelltext haben). also scheint das problem bei tobit und einer der einstellungen dort zu sein.
    im quelltext steht auch eine anweisung, die den drucker anzusprechen scheint:
    <!margins 0,0,0,0><!sendservice "PRINTER">
    wieso wird das bei der alten vorlage anscheinend beachtet und bei der neuen ignoriert? ich verstehe das einfach nicht. hat irgend jemand eine idee?

    mfg

    andré

  • Hallo André

    Eigentlich bist Du auf dem absolut richtigen Weg!

    Etwas scheinst Du nicht zu beachten:
    Wenn Du die Vorlage bearbeitest, musst Du unter Datei -> Vorlagendrucker so was in der Art eingeben:

    <HTML XMLNS:IE>
    <HEAD>
    <?IMPORT NAMESPACE="IE" IMPLEMENTATION="#default">
    <STYLE TYPE="text/css">
    .contentstyle1site
    {
    width:21cm;
    height:27.9cm;
    margin-bottom:1.8cm;
    }
    .contentstyle2site
    {
    width:21cm;
    height:23.3cm;
    margin-top:5cm;
    margin-bottom:1.8cm;
    }
    .masterstyle1site
    {
    width:21cm;
    height:29.7cm;
    margin:0cm;
    }
    .masterstyle2site
    {
    width:21cm;
    height:29.7cm;
    margin:0cm;
    }
    </STYLE>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var lastPage = 1;

    function init()
    {
    addFirstPage();
    }

    invocations = 0;

    function CheckIfPrintRequested() {
    invocations++;
    if (invocations > 1) return;
    switch (dialogArguments.__IE_PrintType) {
    case "Prompt":
    if (printer.showPrintDialog()) printPrep();
    break;
    case "NoPrompt":
    printPrep();
    break;
    case "Preview":
    default:
    break;
    }
    }

    function addFirstPage() {
    newHTML = "<IE:DEVICERECT ID='devicerect1' MEDIA='print' CLASS='masterstyle1site'>";
    newHTML += "<IE:LAYOUTRECT ID='layoutrect1' CONTENTSRC='document' ONLAYOUTCOMPLETE='onPageComplete()' NEXTRECT='layoutrect2' CLASS='contentstyle1site'/>";
    newHTML += "</IE:DEVICERECT>";

    pagecontainer.insertAdjacentHTML("afterBegin", newHTML);

    }

    function onPageComplete() {
    if (event.contentOverflow == true) {
    addNewPage();
    }
    else {

    setTimeout("CheckIfPrintRequested();", 100);
    }
    }

    function addNewPage() {
    document.all("layoutrect" + lastPage).onlayoutcomplete = null;

    newHTML = "<IE:DEVICERECT ID='devicerect" + (lastPage + 1) + "' MEDIA='print' CLASS='masterstyle2site'>";
    newHTML += "<img src='template-graphic://bg.jpg' style='position:absolute; top:0px; left:0px; z-index:-1;'>";
    newHTML += "<IE:LAYOUTRECT ID='layoutrect" + (lastPage + 1) + "' ONLAYOUTCOMPLETE='onPageComplete()' NEXTRECT='layoutrect" + (lastPage + 2) + "' CLASS='contentstyle2site'/>";
    newHTML += "</IE:DEVICERECT>";

    pagecontainer.insertAdjacentHTML("beforeEnd", newHTML);
    lastPage++;
    }

    function printPrep() {
    if (layoutrect1.contentDocument.readyState == "complete") {
    printNow();
    }
    else {
    layoutrect1.contentDocument.onreadystatechange = printWhenContentDocComplete;
    }
    }

    function printWhenContentDocComplete() {
    if (layoutrect1.contentDocument.readyState == "complete") {
    layoutrect1.contentDocument.onreadystatechange = null;
    printNow();
    }
    }

    function printNow() {
    var startPage;
    var endPage;
    var oDeviceRectCollection = document.all.tags("DEVICERECT");

    if (dialogArguments.__IE_PrintType == "NoPrompt" ||
    printer.selectedPages == false) {
    startPage = 1;
    endPage = oDeviceRectCollection.length;
    }
    else if (printer.currentPage == true) {
    }
    else {
    startPage = printer.pageFrom;
    endPage = printer.pageTo;
    if (startPage > endPage) {
    alert("Error: Start page greater than end page");
    return;
    }
    if (startPage > oDeviceRectCollection.length) {
    alert("Error: Start page greater than number of pages in print job.");
    return;
    }
    if (endPage > oDeviceRectCollection.length) {
    alert("Warning: End page greater than number of pages in print job. Continuing Print Job.");
    endPage = oDeviceRectCollection.length;
    }
    }

    printer.startDoc("Tobit InfoCenter");

    for (i = startPage - 1; i < endPage; i++) {
    printer.printPage(oDeviceRectCollection[i]);
    }

    printer.stopDoc();
    }
    // -->
    </SCRIPT>
    </HEAD>

    <BODY ONLOAD="init()">

    <IE:TEMPLATEPRINTER ID="printer"/>


    <DIV ID="pagecontainer">
    <!-- Dynamically created pages go here. -->
    </DIV>

    </BODY>
    </HTML>

    Dann sollte es funktionieren! Viel Glück.

    Herzliche Grüsse
    Frederik

  • hallo und vielen dank!

    das sieht ja schon ganz interessant aus. hab den code jetzt mal dort rein kopiert. dummerweise druckt der drucker jetzt garnicht mehr (also zumindest diese vorlage, aus anderen heraus funktioniert es). jetzt hab ich einfach bei der alten, funktionierenden vorlage nachgesehen, den code da heraus kopiert (ich werd mich bei gelegenheit mal daran machen und versuchen, herauszufinden, worin die unterschiede zwischen beiden liegen) und jetzt funktioniert es :)
    vielen vielen vielen dank! auf die idee, dort zu suchen, wäre ich im leben nie gekommen (obwohl der menüpunkt ja schon dirket mit meinem problem zu tun hatte, aber irgendwie ist der mir am freitag garnicht aufgefallen...)

    mfg

    andré

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!