我正在嘗試使用html打印文檔。我有我要在每個打印頁上的標題,和我使用下面的代碼:印刷媒體css的哪些部分做的是xhtmltopdf篩選器的榮譽?
<style type="text/css">
@media print {
div.header {
position: fixed;
width: 100%;
top: 0;
}
#student_name, #date_submitted {
background: transparent;
border: none;
border-bottom: 1px solid #000000;
width: 55%;
}
}
div.twocol {
width: 50%;
float: left;
}
div.problem {
display: inline-block;
width: 5.5em;
font: 300% monospace;
text-align: right;
margin: 2.5em 0 2.5em 0;
}
div.operand2, div.operation {
float: right;
border-bottom: 0.1em black solid;
}
}
</style>
</head>
<body>
<div class="header">
<div class="twocol">
<label class="student_name" for="student_name">Name</label>
<input class="student_name" type="text" id="student_name"></input>
</div>
<div class="twocol">
<label class="date_submitted" for="date_submitted">Date</label>
<input class="date_submitted" type="text" id="date_submitted"></input>
</div>
</div>
<div class="problem">
<div class="operand1"></div>
<div class="operand2"></div>
<div class="operation">+</div>
</div>
如果我預覽此將Chrome自帶的打印對話框中,它看起來相當多,我打算的方式。如果從Chrome的打印對話框打印出來,它看起來也是正確的(與預覽相同,至少與我的眼球相同)。
如果我通過CUPS的xhtmltopdf過濾器(模擬打印)運行此過程,則會出現幾個缺陷。
標題在第一頁看起來是正確的,但不會出現在任何後續頁面上,就像他們從Chrome自己的打印對話框中看到的一樣。這證明它的風格一些東西從媒體打印選擇器,否則我只看到純輸入。這甚至是媒體打印選擇器的問題,還是與位置固定有關?
第二個問題是,xhtmltopdf中的其他元素(類「問題」)比從Chrome的打印對話框中渲染要大得多。
這也是一個CSS的問題,或者說從CUPS奇特?我對此毫無頭緒,但是我似乎記得幾年前,一些瀏覽器至少在怪癖模式下有元素的默認樣式。 Chrome是否適用於xhtmltopdf錯過的風格?還有其他事情嗎?
不知道這是否會幫助,但我包括從杯濾波器輸出:
john$ cupsfilter /mnt/Linkstation/Documents/Education/\!Curricula/Arithmetic/Arithmetic\ -\ g1\ -\ Addition\,\ no\ carrying.html > test2.pdf
DEBUG: argv[0]="cupsfilter"
DEBUG: argv[1]="1"
DEBUG: argv[2]="john"
DEBUG: argv[3]="Arithmetic - g1 - Addition, no carrying.html"
DEBUG: argv[4]="1"
DEBUG: argv[5]=""
DEBUG: argv[6]="/mnt/Linkstation/Documents/Education/!Curricula/Arithmetic/Arithmetic - g1 - Addition, no carrying.html"
DEBUG: envp[0]="<CFProcessPath>"
DEBUG: envp[1]="CONTENT_TYPE=text/html"
DEBUG: envp[2]="CUPS_DATADIR=/usr/share/cups"
DEBUG: envp[3]="CUPS_FONTPATH=/usr/share/cups/fonts"
DEBUG: envp[4]="CUPS_SERVERBIN=/usr/libexec/cups"
DEBUG: envp[5]="CUPS_SERVERROOT=/private/etc/cups"
DEBUG: envp[6]="LANG=en_US.UTF8"
DEBUG: envp[7]="PATH=/usr/libexec/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
DEBUG: envp[8]="PPD=/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/Resources/Generic.ppd"
DEBUG: envp[9]="PRINTER_INFO=cupsfilter"
DEBUG: envp[10]="PRINTER_LOCATION=Unknown"
DEBUG: envp[11]="PRINTER=cupsfilter"
DEBUG: envp[12]="RIP_MAX_CACHE=128m"
DEBUG: envp[13]="USER=john"
DEBUG: envp[14]="CHARSET=utf-8"
DEBUG: envp[15]="FINAL_CONTENT_TYPE=application/pdf"
INFO: xhtmltopdf (PID 29607) started.
DEBUG: Page = 612x792; 17,19 to 595,773
Jul 10 16:42:57 cupsfilter[29607] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
Jul 10 16:42:57 cupsfilter[29607] <Warning>: Invalid Connection ID 0
DEBUG: Loading "file:///mnt/Linkstation/Documents/Education/!Curricula/Arithmetic/Arithmetic%20-%20g1%20-%20Addition,%20no%20carrying.html"
DEBUG: Waiting for HTML file to load, 10%
Jul 10 16:42:57 cupsfilter[29607] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
Jul 10 16:42:57 cupsfilter[29607] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
Jul 10 16:42:57 cupsfilter[29607] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
DEBUG: Waiting for HTML file to load, 50%
DEBUG: Waiting for HTML file to load, 50%
DEBUG: Page title="Basic Addition, No Carrying"
DEBUG: Bounds of document are [0.0 0.0 579.0 2608.0]
DEBUG: Starting page 1: [0.0 0.0 578.8 681.0]
DEBUG: Starting page 2: [0.0 681.0 578.8 754.8]
DEBUG: Starting page 3: [0.0 1435.8 578.8 685.2]
DEBUG: Starting page 4: [0.0 2121.0 578.8 754.8]
INFO: xhtmltopdf (PID 29607) exited with no errors.
這不回答我的問題。 CUPS是Mac OSX和大多數Linux系統上的打印機系統。 –