Wie kann ich eine PDF Absatz die schriftart, die mit iTextSharp?

Versucht, diesem Beispiel zu Folgen hier, ich habe den folgenden code zum erstellen der Titel eines PDF-doc:

using (var doc = new Document(PageSize.A4, 50, 50, 25, 25))
{
    using (var writer = PdfWriter.GetInstance(doc, ms))
    {
        doc.Open();

        var docTitle = new Paragraph("UCSC Direct - Direct Payment Form");                        
        var titleFont = FontFactory.GetFont("Lucida Sans", 18, Font.Bold);
        doc.Add(docTitle);

Jedoch der Versuch, titleFont nicht kompilieren ("Die beste übereinstimmung für die überladene Methode 'iTextSharp.text.FontFactory.GetFont(string, float, iTextSharp.text.BaseColor)' hat einige ungültige Argumente"), also lass ich intellisenseless "hilft" mir, indem Sie einen arg an eine Zeit. Da für das erste arg er sagte, es war die font-Namen, einen string, ich fügte hinzu, "Segoe UI"; die nächste arg war, font-size, float, also fügte ich 18.0; schließlich forderte Sie die Schriftfarbe, ein BaseColor geben, so fügte ich BaseColor.Schwarz, am Ende mit:

var titleFont = FontFactory.GetFont("Segoe UI", 18.0, BaseColor.BLACK);

...aber das wird auch nicht kompilieren, zu sagen "Die beste übereinstimmung für die überladene Methode 'iTextSharp.text.FontFactory.GetFont(string, string, bool)' hat einige ungültige Argumente"

Also, wenn ich kopiert das Beispiel, und verwendet die string -, int -, und Schriftart-Stil, er sagte Nein, er will, string -, float-und BaseColor. Wenn ich dann Hinzugefügt, dass diese Argumente, es verändert seine "Gedanken" und sagte, was er wirklich will, ist, string, string und bool?

Auch, das Beispiel zeigt das hinzufügen der Absatz in das Dokument etwa so:

doc.Add(docTitle, titleFont);

...aber das wird nicht Fliegen, entweder, wie "Keine überladung für die Methode 'Add' nimmt 2 Argumente"

Was kann ich tun, um Besänftigung iTextSharp? Ob ich einen Freudentanz auf, oder singen ein Klagelied, es will nicht mitspielen.

UPDATE

Okay, das kompiliert:

var docTitle = new Paragraph("UCSC Direct - Direct Payment Form");
var titleFont = FontFactory.GetFont("Courier", 18, BaseColor.BLACK);
docTitle.Font = titleFont;
doc.Add(docTitle);
  • Sie brauchen, um die schriftart im Konstruktor der Absatz, sondern als der doc. Wie für die Methode GetFont ich denke, Sie sind fehlt nur noch der parameter "Farbe". IOW, setzen Sie in Fett und schwarz, statt nur die eine oder die andere.
  • Verwandte, vielleicht dupe stackoverflow.com/a/9145164/2589202
Schreibe einen Kommentar