887 messaggi dal 21 marzo 2008
Ciao a tutti
sto utilizzando la libreria iTextSharp(versione 4) per stampare una fattura.
Voglio creare un file pdf in orizzontale. Nella parte sinista la fattura per il cliente e in quella destra la copia per chi emmette la fattura.
Ogni fattura è formata da più tabelle.
Ho ruotato la pagina così:
Document document = new Document(PageSize.A4.Rotate(),0,0,0,0);

Quando creo il pdf le tabelle delle 2 fatture vengono schiacciate, sembra quasi che continui a considerate l'orintamento della pagina in verticale.
Qualcuno ha utilizzato iTExtSharp che creare una cosa del genere?
Grazie mille
167 messaggi dal 29 dicembre 2002
prova a settare la pagina cosi..

document.SetPageSize(iTextSharp.text.PageSize.A4.Rotate)
887 messaggi dal 21 marzo 2008
Ciao,
non va bene.
Io uso la verione 4 delle ddl e e vuole un oggetto rectangle con document.SetPageSize
167 messaggi dal 29 dicembre 2002
di seguito una parte della classe che mi sono creato per generare i pdf.
come vedi settando le property decidi il formato e l'orientamento del pdf
verifica di aver impostato correttamente i riferimenti.


Imports iTextSharp.text.pdf
Imports iTextSharp.text
Public Class ObjItextPdf
Private viTextPagesize As iTextSharp.text.Rectangle

Public Property Pagesize() As String
Get
Return vPageSize
End Get
Set(ByVal value As String)
vPageSize = value
End Set
End Property
Public Property Landscape() As Boolean
Get
Return vLandscape
End Get
Set(ByVal value As Boolean)
vLandscape = value
End Set
End Property
Public Sub Inizialize()
If vLandscape Then
Select Case LCase(vPageSize)
Case "a0"
vHPage = 84.1
vWPage = 118.9
vFontSize = 8
viTextPagesize = iTextSharp.text.PageSize.A0.Rotate
Case "a1"
vHPage = 59.4
vWPage = 84.1
vFontSize = 8
viTextPagesize = iTextSharp.text.PageSize.A1.Rotate
Case "a3"
vHPage = 29.7
vWPage = 42
vFontSize = 8
viTextPagesize = iTextSharp.text.PageSize.A3.Rotate
Case "a4"
vHPage = 21
vWPage = 29.7
vFontSize = 6
viTextPagesize = iTextSharp.text.PageSize.A4.Rotate
Case Else
vHPage = 21
vWPage = 29.7
vFontSize = 6
viTextPagesize = iTextSharp.text.PageSize.A4.Rotate
End Select
Else
Select Case LCase(vPageSize)
Case "a0"
vWPage = 84.1
vHPage = 118.9
vFontSize = 10
viTextPagesize = iTextSharp.text.PageSize.A0
Case "a1"
vWPage = 59.4
vHPage = 84.1
vFontSize = 8
viTextPagesize = iTextSharp.text.PageSize.A1
Case "a3"
vWPage = 29.7
vHPage = 42
vFontSize = 7
viTextPagesize = iTextSharp.text.PageSize.A3
Case "a4"
vWPage = 21
vHPage = 29.7
vFontSize = 6
viTextPagesize = iTextSharp.text.PageSize.A4
Case Else
vWPage = 21
vHPage = 29.7
vFontSize = 6
viTextPagesize = iTextSharp.text.PageSize.A4
End Select
End If


End Sub

Public Function GenerateReport() As MemoryStream

Dim doc As Document = New Document
doc.SetPageSize(viTextPagesize)



Dim PdfStream As New MemoryStream
Dim PWriter As PdfWriter = PdfWriter.GetInstance(doc, PdfStream)
doc.Open()

ecc ecc..

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.