Ultima modifica da un moderatore:
Buongiorno a tutti,
Sono Francesco e sono nuovo del forum, avrei bisogno di un vs aiuto in quanto ho delle conoscenze del vecchio Visual Basic (un po’ studiate a scuola e molto approfondito da solo tramite internet)
La programmazione mi ha sempre affascinato ma, a causa del lavoro non ho mai avuto tempo di studiare vb.net
Ad ogni modo, non in maniera semplice (e grazie a Google e ad utenti che hanno postato un po’ di spiegazioni) sono riuscito a scrivere un codice che permetta, tramite la libreria itextsharp, di aggiungere del testo ad un pdf “matrice” esistente creando il pdf output pdf.
Ora ho due problemi,
1) non riesco a settare il grassetto per font arial
Preciso che ho necessità di scrivere con arial in grassetto e non posso usare il font arial bold perché sono troppo diversi
Non ho capito se è la modalità di scrittura che utilizzo (pdf content byte) che non prevede la possibilità di mettere lo style bold o che
Vi posto il codice
Ho un altro problema poi, il file matrice.pdf, è formato da 2 pagine, ma quando mi crea il file output mi restituisce solo la prima.. cosa ho sbagliato?
Grazie del vs tempo e a chi vorrà aiutarmi
Francesco
Sono Francesco e sono nuovo del forum, avrei bisogno di un vs aiuto in quanto ho delle conoscenze del vecchio Visual Basic (un po’ studiate a scuola e molto approfondito da solo tramite internet)
La programmazione mi ha sempre affascinato ma, a causa del lavoro non ho mai avuto tempo di studiare vb.net
Ad ogni modo, non in maniera semplice (e grazie a Google e ad utenti che hanno postato un po’ di spiegazioni) sono riuscito a scrivere un codice che permetta, tramite la libreria itextsharp, di aggiungere del testo ad un pdf “matrice” esistente creando il pdf output pdf.
Ora ho due problemi,
1) non riesco a settare il grassetto per font arial
Preciso che ho necessità di scrivere con arial in grassetto e non posso usare il font arial bold perché sono troppo diversi
Non ho capito se è la modalità di scrittura che utilizzo (pdf content byte) che non prevede la possibilità di mettere lo style bold o che
Vi posto il codice
Codice:
Public Function scrivisuPDF()
Dim stext As String = UCase(txtNome.Text)
Dim newFile As String = "C: \output.pdf"
Dim oldfile As String = "C: \matrice.pdf"
Dim reader As New PdfReader(oldfile)
Dim size As Rectangle = reader.GetPageSizeWithRotation(1)
Dim Document As New Document(size)
Dim Fs As FileStream = New FileStream(newFile, FileMode.Create, FileAccess.Write)
Dim writer As PdfWriter = PdfWriter.GetInstance(Document, Fs)
Document.Open()
Dim cb As PdfContentByte = writer.DirectContent
Dim arial As BaseFont = BaseFont.CreateFont("c: \windows\fonts\arial.ttf", BaseFont.CP1252, BaseFont.NOT_EMBEDDED)
‘Ho provato questo ma non funziona
'Dim Font As Font = New Font(arial, 11, Font.BOLD)
cb.SetFontAndSize(arial, 11)
cb.BeginText()
‘Idem anche con questo
'Dim p As New Paragraph
'p.Add(New Paragraph(testo, Font))
cb.ShowTextAligned(0, stext, 24, 730, 0)
cb.ShowTextAligned(0, "codice fiscale", 150, 702, 0)
cb.EndText()
Dim page As PdfImportedPage = writer.GetImportedPage(reader, 1)
cb.AddTemplate(page, 0, 0)
Document.Close()
Fs.Close()
writer.Close()
reader.Close()
Return 0
End Function
Ho un altro problema poi, il file matrice.pdf, è formato da 2 pagine, ma quando mi crea il file output mi restituisce solo la prima.. cosa ho sbagliato?
Grazie del vs tempo e a chi vorrà aiutarmi
Francesco