Avatar billede eddie_007 Nybegynder
08. januar 2001 - 14:05 Der 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!
Avatar billede geeeet Nybegynder
08. januar 2001 - 14:07 #1
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);

oldHandler = window.onerror;
window.onerror = deal;

WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER);
WebBrowser1.outerHTML = \"\";
window.onerror = oldHandler;

function deal() {
WebBrowser1.outerHTML = \"\";
window.onerror = oldHandler;
return true;
}
}
</SCRIPT>

og s&aring; slutter du bare med et link.

<A HREF=\"java script:printo()\">AT PRINTE</A>


</body>
</html>

/Geeeet
Avatar billede erikjacobsen Ekspert
08. januar 2001 - 14:16 #2
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.
Avatar billede eddie_007 Nybegynder
08. januar 2001 - 14:28 #3
Jeg har justeret bredden så den passer!!!

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! :)
Avatar billede olebole Juniormester
08. januar 2001 - 14:44 #4
<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>
Avatar billede eddie_007 Nybegynder
08. januar 2001 - 14:47 #5
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!
Avatar billede olebole Juniormester
08. januar 2001 - 14:52 #6
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.
Avatar billede eddie_007 Nybegynder
08. januar 2001 - 14:54 #7
Hvordan deler op i enkelte sider ... Det er en side som bliver dynamisk genereret!
Avatar billede olebole Juniormester
08. januar 2001 - 14:56 #8
Så har du et probl....ehhhhhhh...en udfordring!  :))
Du kan måske - alt efter, hvordan du genererer siden - tælle linjer...(?)
Avatar billede humtibum Nybegynder
08. januar 2001 - 16:26 #9
har du en url?

lad mig lige forstå det helt korrekt. Den skære den printede linie over så den f.eks. kun printer den øverste halvdel af bogstaverne.

Jeg går ud fra at du har prøvet på mere end én printer.
mvh -chs
Avatar billede eddie_007 Nybegynder
08. januar 2001 - 16:36 #10
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 :(
Avatar billede olebole Juniormester
08. januar 2001 - 16:41 #11
Det er derfor, du bliver nødt til at lave et tilsvarende antal separate sider, der er mere printervenlige.  :)
Avatar billede humtibum Nybegynder
08. januar 2001 - 20:54 #12
ikke enig med Olebole

Du bør kunne servere en langscrolle side.

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?

håber det hjælper, ellers så skriv igen.

-chs
Avatar billede eddie_007 Nybegynder
09. januar 2001 - 09:17 #13
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 ...
Avatar billede humtibum Nybegynder
09. januar 2001 - 17:12 #14
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
Avatar billede olebole Juniormester
09. januar 2001 - 17:22 #15
...er enigheden alligevel ved at brede sig, humtibum?  :))
/mvh
Avatar billede eddie_007 Nybegynder
09. januar 2001 - 17:30 #16
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.
Avatar billede eddie_007 Nybegynder
09. januar 2001 - 17:32 #17
Kender I det når man får et nyt tastatur ... og man gang på gang laver skirihgstcfggffejl? :)
Avatar billede humtibum Nybegynder
09. januar 2001 - 23:31 #18
>>>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)

>> Eddie_007: Print stylesheet:
prøv:
<link href=\"print.css\" media=\"print\">
<link href=\"screen.css\" media=\"screen\">   

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.
Avatar billede jispa Nybegynder
25. januar 2001 - 16:09 #19
Køb en bog om XML !
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester