J'ai un texte dynamique, dont le nombre de lignes est inconnu. Ce nombre de lignes peut être compris entre 1 et 1000. Maintenant, je veux créer un document PDF, qui crée automatiquement une nouvelle page si un nombre spécifique de lignes est atteint.Multipage automatique avec texte multiligne
J'ai déjà trouvé que cela fonctionnerait probablement avec MigraDoc, mais je l'ai déjà testé et bien ... ça n'a pas fonctionné comme je l'ai testé.
// You always need a MigraDoc document for rendering.
Document doc = new Document();
MigraDoc.DocumentObjectModel.Section sec = doc.AddSection();
// Add a single paragraph with some text and format information.
MigraDoc.DocumentObjectModel.Paragraph para = sec.AddParagraph();
para.Format.Alignment = ParagraphAlignment.Justify;
para.Format.Font.Name = "Times New Roman";
para.Format.Font.Size = 12;
para.Format.Font.Color = MigraDoc.DocumentObjectModel.Colors.DarkGray;
para.Format.Font.Color = MigraDoc.DocumentObjectModel.Colors.DarkGray;
para.AddText("Duisism odigna acipsum delesenisl ");
para.AddFormattedText("ullum in velenit", TextFormat.Bold);
para.AddText(" ipit iurero dolum zzriliquisis nit wis dolore vel et nonsequipit, velendigna " +
"auguercilit lor se dipisl duismod tatem zzrit at laore magna feummod oloborting ea con vel " +
"essit augiati onsequat luptat nos diatum vel ullum illummy nonsent \nA \n B\nV \nD \nE\nF\nG\nA \n B\nV \nD \nE\nF\nG\nA \n B\nV \nD \nE\nF\nG\nA \n B\nV \nD \nE\nF\nG\nA \n B\nV \nD \nE\nF\nGnit ipis et nonsequis " +
"niation utpat. Odolobor augait et non etueril landre min ut ulla feugiam commodo lortie ex " +
"essent augait el ing eumsan hendre feugait prat augiatem amconul laoreet. ≤≥≈≠");
para.Format.Borders.Distance = "5pt";
para.Format.Borders.Color = MigraDoc.DocumentObjectModel.Colors.Gold;
// Create a renderer and prepare (=layout) the document
MigraDoc.Rendering.DocumentRenderer docRenderer = new DocumentRenderer(doc);
docRenderer.PrepareDocument();
Ceci est le code que j'ai pris à partir d'un exemple MigraDoc, mais il ne fonctionne pas vraiment comme je le souhaite. Au lieu de créer une nouvelle page après le nombre approprié de lignes, il écrit juste plus loin de la frontière de la première page.
Pouvez-vous me donner un exemple où le texte multiligne crée une nouvelle page si le nombre de lignes approprié est atteint?
Eh bien, le problème est que ce texte n'est qu'un exemple pour tester le texte long. Dans un exemple réel, il s'agirait simplement d'une variable au lieu du texte, mais elle pourrait aussi être aussi longue que ce texte. Dois-je séparer ce texte à chaque fois? Et si oui, comment puis-je faire cela pour varier les numéros de ligne? J'utilise Migradoc 1.32 – Benziner