1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.draw
Public Class PrintPDF
Public Function CreatePDF() As FileStream
Dim PDFData As New FileStream(My.Application.Info.DirectoryPath & "\Test.pdf", FileMode.Create)
Dim document As New Document(PageSize.A4, 0, 0, 40, 40)
Dim writer As PdfWriter = PdfWriter.GetInstance(document, PDFData)
document.Open()
'================================ 5 LIGNES HORIZONTALES ========================================================
'https://www.aspsnippets.com/questions/103476/Draw-Line-separator-in-PDF-using-iTextSharp-in-ASPNet/
Dim lineSeparator As Paragraph = New Paragraph(New Chunk(New LineSeparator(0.0F, 100.0F, New BaseColor(Color.Black), Element.ALIGN_LEFT, 1)))
lineSeparator.SetLeading(0.5F, 0.5F)
Dim par As Paragraph = New Paragraph(" ")
par.SetLeading(0.7F, 0.7F)
document.Add(New Paragraph(" 5 lignes superposées"))
document.Add(par)
document.Add(lineSeparator)
document.Add(lineSeparator)
document.Add(lineSeparator)
document.Add(lineSeparator)
document.Add(lineSeparator)
document.Add(par)
'================================ LIGNE HORIZONTALE ========================================================
'Il s'agit d'un élément séparateur de ligne qui n'est essentiellement qu'une ligne horizontale
Dim separateurChk2 As New Chunk(New LineSeparator(5.0F, 100, New BaseColor(System.Drawing.Color.FromArgb(162, 0, 48)),
Element.ALIGN_CENTER, -1))
document.Add(separateurChk2)
'================================ LIGNE HORIZONTALE ========================================================
'La même, dans la cellule d'une table. Offrant plus de contrôle sur le trait
Dim separateurTable As New PdfPTable(1)
separateurTable.WidthPercentage = 85
Dim separateurCell As New PdfPCell()
Dim separateurChk1 As New Chunk(New LineSeparator(5.0F, 100, New BaseColor(System.Drawing.Color.FromArgb(162, 0, 48)),
Element.ALIGN_CENTER, -1))
separateurChk1.setLineHeight(4)
separateurCell.AddElement(separateurChk1)
separateurCell.VerticalAlignment = Element.ALIGN_CENTER
separateurCell.Border = 0
separateurTable.AddCell(separateurCell)
separateurTable.SpacingBefore = 50
document.Add(separateurTable)
'============================= TRAIT ORIENTABLE ==============================================================
'https://www.mikesdotnetting.com/article/88/itextsharp-drawing-shapes-and-graphics
Dim cb As PdfContentByte = writer.DirectContent
cb.SetColorStroke(BaseColor.RED)
cb.MoveTo(document.PageSize.Width / 2, document.PageSize.Height / 2)
cb.LineTo(document.PageSize.Width / 2, document.PageSize.Height)
cb.Stroke()
cb.SetColorStroke(BaseColor.GREEN)
cb.MoveTo(0, document.PageSize.Height / 2)
cb.LineTo(document.PageSize.Width, document.PageSize.Height / 2)
cb.Stroke()
'Respectivement : couleur, épaisseur, coordonnées départ du trait, coordonnées arrivée du trait et traçage.
cb.SetColorStroke(BaseColor.BLUE)
cb.SetLineWidth(3)
cb.MoveTo(10, 400)
cb.LineTo(200, 600)
cb.LineTo(400, 400)
cb.Stroke()
document.Close()
Return PDFData
End Function
End Class |