3.915 messaggi dal 28 gennaio 2003
Ciao.
Sto sperimentando iTex7.
La procedura di sotto funziona correttamente.
Private Sub LinkLabel3_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel3.LinkClicked
  Dim fileCreato As String = "c:\tmp\prova.pdf"

  Try
    Me.Cursor = Cursors.WaitCursor
    Application.UseWaitCursor = True

    Using ms As New MemoryStream()
      Using writer As New tkp.PdfWriter(ms)
        Using pdf As New tkp.PdfDocument(writer)
          Using document As New tl.Document(pdf)
            Dim fontCourier As tkf.PdfFont = tkf.PdfFontFactory.CreateFont(iText.IO.Font.Constants.StandardFonts.COURIER)
            document.Add(New tle.Paragraph("iText is:").SetFont(fontCourier))
            Dim lista As New tle.List()
            With lista
              .SetSymbolIndent(12)
              .SetListSymbol(ChrW(&H2022))
              .SetFont(fontCourier)

              .Add(New tle.ListItem("1° frase"))
              .Add(New tle.ListItem("2° frase"))
            End With
            document.Add(lista)
          End Using
        End Using
      End Using
      'Scrive un file su disco da un flusso dati in MemoryStream
      l.MemoryStreamToFile(ms, fileCreato)
      'MessageBox.Show(String.Format("Il file {0} è stato creato correttamente.", fileCreato))

    End Using
    'apro il file col programma predefinito
    l.AproFileConProgrammaPredefinito(fileCreato)


  Catch ex As Exception
    MessageBox.Show(ex.Message)

  Finally
    Application.UseWaitCursor = False
    Me.Cursor = Cursors.Default

  End Try
End Sub


se commento l'istruzione:
'Dim fontCourier As tkf.PdfFont = tkf.PdfFontFactory.CreateFont(iText.IO.Font.Constants.StandardFonts.COURIER)


e la dichiaro all'inizio del documento:
Private fontCourier As tkf.PdfFont = tkf.PdfFontFactory.CreateFont(iText.IO.Font.Constants.StandardFonts.COURIER)


la procedura funziona solo la prima volta. Le altre dà questo errore:
"PdfPages tree could be generated only once"

Mi aiutate a capire?
Ciao.

Pietro
11.868 messaggi dal 09 febbraio 2002
Contributi
Ciao Pietro,
è possibile che l'oggetto PdfFont non sia stato progettato per essere aggiunto a due PdfDocument diversi. Questo sospetto te lo possono confermare gli autori di iText7. Purtroppo non si possono aprire issue nel repository Git del prodotto ma se hai acquistato la licenza ti puoi rivolgere alla loro assistenza.

ciao,
Moreno

Enjoy learning and just keep making
3.915 messaggi dal 28 gennaio 2003
Ciao.
Sto provando la versione non commerciale.
Comunque ho provato pure a eliminare gli using e non funziona lo stesso.
Ero solo curioso.

Ciao.

Pietro

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.