08. januar 2001 - 14:05Der er
18 kommentarer og 1 løsning
Print af side!?
Når jeg printer en side jeg har lavet (dynamisk opdateret indhold) med browserens \"print\" funktion skærer den linierne over i top og bund! Hvorfor gør den det og hvad skal jeg gøre? Den skal lave ordentlige linieskift!
I netscape er der vist ikke noget du kan gøre, i ie ved jeg at det kan lade sig gøre, prøv nedenstående funktion engang, jeg kan ikke huske om den gør det ordenligt.... Hvis ikke, så bare afvis...
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html> <head> <title>Untitled</title> </head>
<body>
<SCRIPT language=\"javascript\">
function printo(){ if ( ((navigator.appName == \"Netscape\") && (parseInt(navigator.appVersion) >= 4))) NS4();
if ( ((navigator.appName == \"Microsoft Internet Explorer\") && (parseInt(navigator.appVersion) >= 4))) IE4();
if ( (navigator.platform.indexOf(\"Mac\") != -1)) mac(); }
function mac() { alert(\"Denne knap virker desv\\346rre ikke p\\345 Mac.\\nFors\\370g i stedet at trykke \'\\346ble + P\'\"); }
function NS4(){ window.print(); }
function IE4() { var OLECMDID_PRINT = 6; var OLECMDEXECOPT_DONTPROMPTUSER = 2; var OLECMDEXECOPT_PROMPTUSER = 1; var WebBrowser = \'<OBJECT ID=\"WebBrowser1\" WIDTH=0 HEIGHT=0 CLASSID=\"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>\'; document.body.insertAdjacentHTML(\'beforeEnd\', WebBrowser);
Din side er vel for bred. En printer er vel 500-600 pixels bred. Prøv at se om du har et billede eller en streg eller ... hvad ved jeg, der kan fjernes, gøres mindre eller sættes uden for en tabel.
Problemet er længden -> ved sideskift skæres linier midt over! Jeg har prøvet ovenstående script men det virker ikke -> det åbner jo bare print funktionen i browseren \"print...\" ... Kom så Ekspert-drengene med et svar! :)
<ole> Det er altid bedst at lave en printervenlig version af siden, som du så åbner i et popup-vindue...gerne med print-knappen intakt i menubaren. Det er den eneste sikre måde at lave printbare sider på. /mvh </bole>
Jamen ---> det er meningen at denne her side skal være printervenlig! Dette er faktisk et forsøg på at lave en printervenlig version af anden side! Hvad er en printervenlig side kan man så spørge sig selv ... jeg har sørget at bredden er på plads ... men den laver ikke autatisk pæne sideskift!!! Hvordan får man den til det ... generelt!
Det laver du ikke automatisk. Du deler teksten op i enkelte sider. Det er en del af det at lave printervenlige sider. Husk også, hvis det er et internationalt site, at man mange - vel egentlig de fleste - steder i verden skriver på andre formater end A4 - \'Letter\' f.eks.
Humtibum ... det er netop problemet! Jeg har testet forskellige printere 3 stk. den virker kun på den ene -> men det er jo ikke godt nok! Jeg er begyndt at tro at det umuligt at gøre det på den måde jeg har bygget siden ---> Jeg skulle nok have cuttet det op i sider med bestemt højde ... men det er netop det modsatte som kunden ønsker (et langt dokument som de kan scrolle i) - jeg kan desværre ikke give URL :(
Serverer du indholdet som én stor tabel, mange små eller ingen tabeller?
Åbner du popup vinduer uden \'pynt\'?
De tre printere du prøvede, var det samme compueter/konto eller forskellige accounts (på et netværk -> forskellige indstillinger).
Debugging: Hvad sker der, hvis du piller ALT andet end teksten af, og så putter det langspomt på igen. Er der noget stylesheet indover som kunne rode i det?
Hvad hvis du markerer teksten og paster det i word eller en teksteditor?
1. En stor tabel som dynamisk bliver genereret ... 2. Ikke noget pop-up -> næsten uden pynt ... 3. 3 printere -> 3 forskellige netværk ... 4. Der er stylesheets på ... 5. Teksteditor -> selvfølgeligt vil det virke hvis jeg paster teksten ind ...
Ok, jeg er pretty blank. ad 1. helt generelt (og nej det var ikke hvad du spurgte om) skal du passe på enkelte store tabeller -> de kan give en timeout hvis indholdet bliver for stort. Det skyldes at browseren først tegner tabellen når den har indlæst den hele.
Jeg ville prøve at pille stylesheets af. Hvis du netop har forsøgt at lave et printevenligt stylesheet, så er det ærgeligt hvis det netop er det der giver problemet. Du kan jo i den anledning se om \'print\' egenskaben er understøttet i nyere browsere -> at du specificerer et screen stylesheet og et printstylesheet.
Det var hvad jeg lige kunne komme på. Jeg er simpelthen blank... -chs
Hvad mener du med en printervenlig style? Jeg har lavet en side hvor tabellen passer i bredden, sat siden på så det pæn ud nær man printer - uden for meget grafik etc.
>>>Olebole. Nej. Jeg er ikke enig at Eddie_007 skal modificere sine data -> dele dem op i sidestørrelser i databasen (det var hvad jeg forstod du mente) pga. design. Ej heller at der skal laves tabeller med en vis pixel længde eller andre workarounds hvis det overhovedet kan undgås.
Jeg kan til nød acceptere at skære outputtet op i mindre tabeller, f.eks. ved at tælle linier (som du foreslog), men der dyrt (tidsmæssigt) og kræver viden om hver enkelt skærm osv. jeg er tilgengæld for at skære indholdet op under alle omstændigher (loadtime)
eller <style type=\"text/css\" media=\"print\"> p {color: black; font-weight: 500;} </style> <style type=\"text/css\" media=\"screen\"> p {color: white; font-weight: 900;} </style>
Jeg ved at rækkefølgen af media har betydning, og jeg mener at print skal før screen, men jeg er ikke sikker. Jeg ha raldrig forsøgt dette før (kun læst det specifikationerne for css2) og ved ikke om browserne forstår det endnu.
Det løser ikke nødvendigvis dit problem, men...
Har du prøvet sådanne ting som at ændre skrift størrelsen fra 12 til 10 eller 14 (eller procent om du vil...)?
Ellers må du gerne sende mig et eksempel på koden til hagel@adr.dk. håber det går.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.