Domanda

Sto creando una fattura con l'iTextSharp. Che visualizza bene, ma a volte, quando gli elementi fattura sono più grandi nel qty, la porzione di sintesi (che visualizza subtotale, imposte, sconti, ecc totale) è a spacco. Alcuni displayes a pagina corrente e alcune mosse alla pagina successiva. Stavo pensando di spostare tutta la porzione di sintesi nella pagina successiva, se l'altezza attuale di sinistra non è sufficiente per questo.

Tuttavia, per farlo, ho bisogno di sapere che quanto altezza pagina è stata lasciata (dopo la mia corrente di rendering contenuto della pagina). Mi chiedo se qualcuno sa come calcolare altezza corrente di sinistra della pagina? O se c'è una proprietà nel pdfPTable che può costringere il tavolo per la stampa stessa nel suo insieme e non lasciare che suddiviso su più pagine! Credo che se la seconda opzione è disponibile, sarà facile.

In sintesi, ho bisogno di sapere se è possibile calcolare l'altezza residua pagina, e anche se questo è possibile forzare un tavolo per non dividere su più pagine.

grazie.    Sameers

È stato utile?

Soluzione

È possibile impostare SplitLate a false per evitare di pagina automatico pausa in una cella di dati supera il limite.

......
table.addCell(cellData);

table.SplitLate = false;
......

Altri suggerimenti

Vi suggerisco di utilizzare una tabella nidificata per la sezione di riepilogo. Non credo iText si divideranno una data cellula su un limite di pagina, quindi tutto in quella cella (anche se la sua una tabella nidificata con celle di propria) rimarrà sulla stessa pagina.

arco fila di celle Utilizzare la tabella in modo che occupa un'intera riga da solo.

Io non sono certo, ma scommetto una birra su di esso.

Quale oggetto stai usando per aggiungere i dati al PDF? MultiColumnText, paragrafo, frase?

Si dovrebbe essere in grado di utilizzare la proprietà Document.PageSize.Height per restituire l'altezza della pagina.

Quindi utilizzare PDFPTable.Height di restituire l'altezza del tavolo.

Quindi, basta usare la logica Document.PageSize.Height -. Table.Height, e avrete lo spazio asse y ancora disponibile

L'oggetto PDFPTable ha proprietà denominate SplitLate e SplitRows. Io credo che si possa utilizzare queste proprietà per provare e mantenere la tabella su una sola pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top