Oddzielenie nadmiarowego kodu od funkcji generatora pdf

Jest to aplikacja vb.net, która korzysta z biblioteki itextsharp. To, na co wpadam, to następujący kod, który staje się strasznie zbędny, co moim zdaniem nie jest czystym sposobem na robienie rzeczy. Ale nie mogę sobie wyobrazić, w jaki sposób oddzielić ją od osobnej funkcji, w której po prostu przekażę ciąg znaków, x_Cord, y_Cord, tilt i otrzymam go a), gdy go przekaże, wejdzie jako tablica lub b) robi to dla każdej linii, która tego potrzebuje ... Funkcja zwróci wtedy niezbędne informacje dla contentBytes ... Poniżej jest bardzo podobny do tego, co kończę na tym, że jestem mocno zbędny.

Dim cb As PdfContentByte = writer.DirectContent

Zawarłem powyższe, aby pokazać, co cb zostało zadeklarowane jako dla jasności.

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

Jakieś pomysły na wprowadzenie tego do własnej funkcji?

questionAnswers(1)

yourAnswerToTheQuestion