Wie kann ich mit iText HTML mit Bildern und Hyperlinks in PDF konvertieren?

Ich versuche zu konvertierenHTML zuPDF mit iTextSharp in einemASP.NET Webanwendung, die beide @ verwend MVC, un web forms. Das<img> und<a> Elemente haben absolute undrelati URLs und einige der<img> Elemente sind base64. Typische Antworten hier bei den Suchergebnissen von SO und Google verwenden generisches HTML zuPDF code mitXMLWorkerHelper das sieht ungefähr so aus:

using (var stringReader = new StringReader(xHtml))
{
    using (Document document = new Document())
    {
        PdfWriter writer = PdfWriter.GetInstance(document, stream);
        document.Open();
        XMLWorkerHelper.GetInstance().ParseXHtml(
            writer, document, stringReader
        );
    }
}

So mit ProbeHTML so was

<div>
    <h3>HTML Works, but Broken in Converted PDF</h3>
    <div>Relative local <img>: <img src='./../content/images/kuujinbo_320-30.gif' /></div>
    <div>
        Base64 <img>:
        <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==' />
    </div>
    <div><a href='/somePage.html'>Relative local hyperlink, broken in PDF</a></div>
<div>

Das resultierende PDF: (1) fehlen alle Bilder und (2) Alle Hyperlinks mit relativen URLs sind fehlerhaft und verwenden ein Datei URI Schema (file///XXX...) anstatt auf die richtige Website zu verweisen.

Einige Antworten hier bei SO und andere aus der Google-Suche empfehlen, relative URLs durch absolute URLs zu ersetzeperfekt akzeptabel für einmalige Fälle. Globales Ersetzen aller<img src> und<a href> -Attribute mit einer fest codierten Zeichenfolge sind inakzeptabel für diese Frage bitte keine solche Antwort posten, da sie dementsprechend herabgestuft wird.

ch suche nach einer Lösung, die für @ funktionierviel Verschiedene Webanwendungen in Test-, Entwicklungs- und Produktionsumgebungen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage