Redundanten Code von der PDF-Generatorfunktion trennen

Dies ist eine vb.net-App, die die itextsharp-Bibliothek verwendet. Worauf ich stoße, ist, dass der folgende Code schrecklich redundant wird, was meiner Meinung nach keine saubere Methode ist, um Dinge zu tun. Aber ich kann nicht scheinen, herauszufinden, wie man es in eine separate Funktion trennt, in der ich einfach den String x_Cord, y_Cord, tilt und entweder a) beim Übergeben als Array oder in ein Array übergeben würde b) tut es für jede Zeile, die es braucht ... Die Funktion würde dann die notwendigen Informationen für die contentBytes zurückgeben ... Das Folgende ist sehr ähnlich dem, was ich am Ende als stark redundant bezeichne.

Dim cb As PdfContentByte = writer.DirectContent

Ich habe das Obige nur eingefügt, um zu zeigen, was aus Gründen der Klarheit als cb deklariert ist.

cb.BeginText()
cb.SetFontAndSize(Californian, 36)
cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "CERTIFICATE OF COMPLETION", 396, 397.91, 0)
cb.SetFontAndSize(Bold_Times, 22)
cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, name, 396, 322.35, 0)
cb.SetFontAndSize(Bold_Times, 16)
cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, _hours + " Hours", 297.05, 285.44, 0)
cb.SetFontAndSize(Bold_Times, 16)
cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, _dates, 494.95, 285.44, 0)
cb.SetFontAndSize(Bold_Times, 16)
cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, _class1, 396, 250.34, 0)
If Not String.IsNullOrWhiteSpace(_class2) Then
    cb.SetFontAndSize(Bold_Times, 16)
    cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, _class2, 396, 235.34, 0)
End If
cb.SetFontAndSize(Copper, 16)
cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, _conf_num + _prefix + " Annual Conference " + _dates, 396, 193.89, 0)
cb.SetFontAndSize(Bold_Times, 13)
cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "Some Name", 396, 175.69, 0)
cb.SetFontAndSize(Bold_Times, 10)
cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "Some Company Manager", 396, 162.64, 0)
cb.EndText()

Haben Sie Ideen, wie Sie dies zu einer eigenen Funktion machen können?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage