2012-06-18 108 views
1

我想知道是否有人可以指導如何使用xhtml2pdf替換其實際html鏈接的超鏈接。所以,如果我不得不在PDF中的超鏈接,我創建,上面寫着:使用xhtml2pdf,用實際鏈接替換超鏈接

<http://www.google.com> 

這是目前簡單的功能,我使用:

import os 
import sys 
import cgi 
import cStringIO 
import logging 

import xhtml2pdf.pisa as pisa 

pisa.showLogging() 

def testSimple(
    data = open('FILENAME').read(), 
    dest="test.pdf": 

    pdf = pisa.CreatePDF(
     cStringIO.StringIO(data), 
     file(dest, "wb") 
     ) 

    if pdf.err: 
     dumpErrors(pdf) 
    else: 
     pisa.startViewer(dest) 

testSimple() 

回答

2

Google 

它將與更換

這是網站打印樣式的常見要求,人們無法單擊鏈接,但需要鍵入它。

它可以actually be achieved with CSS

a:link:after, a:visited:after { content:" [" attr(href) "] "; } 

這將取決於CSS實現xhtmltopdf的,如果這會在你的情況下工作,雖然。

您可以使用CSS selectors,如果你只是想這適用於某些環節,例如

a.printable:link:after, 
a.printable:visited:after { 
    content:" [" attr(href) "] "; 
} 

只會影響有該類鏈接:

<a href="http://stackoverflow.com/" class="printable">Stack Overflow</a> 
+0

這個工作!但是,我想知道是否有一種方法只顯示某些標籤。這可以粘貼在一個特定的標籤CSS元素? – user1463925

+0

你究竟是什麼意思?不適用於所有鏈接?您可以使用xhtmltopdf支持的更具體的CSS選擇器。我在鏈接標籤上添加了一個簡單的'class'的例子。 – pixelistik