2009-12-24 3 views
13

Sembra che non sia possibile impostare il margine sinistro su una larghezza inferiore a 42pt. Lo sto impostando su 0f ma termina sempre come 42pt. Se imposto il margine su un numero maggiore di 0, viene semplicemente aggiunto al margine iniziale di 42pt. Io sono la creazione margine di oggetto di documento:Margini laterali iText (nitidi) larghezza

iTextSharp.text.Rectangle docRect = new iTextSharp.text.Rectangle(pageWidth, pageHeight); 
DC = new Document(docRect); 
DC.SetMargins(0f, 0f, 0f, 0f); 

larghezza e l'altezza della pagina sono 6x9 in

e finisco con:.

42pt margine | CONTENUTO CONTENUTO

Gradirei qualsiasi aiuto . Grazie.

+0

Come si aggiunge il contenuto al documento? Ciò può avere un impatto su dove è collocato per impostazione predefinita. – Stewbob

risposta

12

Sto usando PdfPTable e il problema era l'allineamento orizzontale PdfPTable predefinito che è CENTER. Non appena ho impostato l'allineamento della tabella a sinistra il problema è andato via.

PdfPTable bTable = new PdfPTable(2); 
bTable.HorizontalAlignment = Element.ALIGN_LEFT; 

Grazie, Velja

+0

come impostare margin.i voglio la mia tabella pdf in posizione fissa – SANDEEP

2

Il problema potrebbe dipendere dal modo in cui si aggiunge il contenuto al documento. Se stai usando una tabella (invece di un PdfPTable), anche se hai un margine sinistro di 0, la tabella verrà comunque posizionata come indentata dal margine sinistro per impostazione predefinita.

La spaziatura predefinita corrisponde a circa il 10% della larghezza dell'area della pagina stampabile. Quindi il bordo sinistro del tavolo verrebbe posizionato a (0.10 * (pageWidth - leftMargin - rightMargin)).

10% di 6 pollici (a 72 punti per pollice) è pari a 43,2 punti, molto vicino ai 42 punti che si ottengono.

7

Beh, penso che il problema è diverso. Per impostazione predefinita, la proprietà PdfPTable.LockedWidth è impostata su false e PdfPTable.WidthPercentage equivale a 80f. Finché l'allineamento predefinito della tabella è Center, si ha l'impressione che i margini non siano rispettati ... ma lo sono! Hai sipmly bisogno di impostare PdfPTable.WidthPercentage = 100f.