1

xhtml2pdfを使用して、ハイパーリンクを実際のhtmlリンクに置き換える方法を誰かが教えてくれるかどうか疑問に思っていました。したがって、作成した PDF にハイパーリンクがある場合は、次のように表示されます。

Google

それはそれを次のように置き換えます:

<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()
4

1 に答える 1

2

これは、ユーザーがリンクをクリックすることはできませんが、入力する必要がある Web サイトの印刷スタイルの一般的な要件です。

実際には CSS で実現できます:

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

ただし、これがあなたのケースで機能するかどうかは、xhtmltopdf の CSS 実装に依存します。

これを特定のリンクにのみ適用する場合は、 CSS セレクターを使用できます。たとえば、

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

そのクラスを持つリンクにのみ影響します:

<a href="http://stackoverflow.com/" class="printable">Stack Overflow</a>
于 2012-06-18T16:13:15.920 に答える