Bonjour à tous
Mon code actuel est d'ajouter du texte sur la même page du fichier PDF et à la fin du dernier paragraphe du contenu existant, mais il chevauche, malheureusement, sur le contenu existant.
J’ai, alors, besoin d'une logique relative qui me permet d’ajouter un nouveau paragraphe après la fin de l'ancien paragraphe
Merci d’avance !

Voici le code :
formulaire 01
namespace Pdf_Ajout_Texte
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public static class Global
{
public static string Path = @"C:\Demo\Krm.pdf";
}
private void button1_Click(object sender, EventArgs e)
{
PdfWriter Wr = new PdfWriter(Global.Path);
PdfDocument Pdc = new PdfDocument(Wr);
Document Doc = new Document(Pdc);
Paragraph Pr = new Paragraph("Mon code actuel est d'ajouter du texte sur la meme page mais à la fin du dernier paragraphe du contenu existant, mais il chevauche, malheureusemnt, sur le contenu existant.");
Pr.SetFontColor(ColorConstants.RED);
Pr.SetBold();
Doc.Add(Pr);
Paragraph Pr01 = new Paragraph("J'ai besoin d'une logique relative qui ajoute un nouveau paragraphe après la fin de l'ancien paragraphe )");
Pr01.SetFontColor(ColorConstants.BLUE);
Doc.Add(Pr01);
Doc.Close();
}
Formulaire 02 :
namespace Pdf_Ajout_Texte
{
public partial class Ajout : Form
{
private PageSize pageSize;

public Ajout()
{
InitializeComponent();
}
private void BtnAjt_Click(object sender, EventArgs e)
{
MemoryStream Ms = new MemoryStream();
PdfDocument pdfdoc = new PdfDocument(new PdfReader(Global.Path), new PdfWriter(Ms.ToString()));
Document doc = new Document(pdfdoc);
PdfFont font = PdfFontFactory.CreateFont(@"C:\Windows\Fonts\Arial.ttf", PdfEncodings.IDENTITY_H, PdfFontFactory.EmbeddingStrategy.FORCE_EMBEDDED);
var Str01 = string.Join(" ", label1.Text, " : ", TxtB01.Text);
var Str02 = string.Join(" ", label2.Text, " : ", TxtB02.Text);
var Str03 = string.Join(" ", label3.Text, " : ", TxtB03.Text);
Text p1 = new Text(string.Join(" ", Str01 + "\n", Str02 + "\n", Str03));
p1.SetFontColor(ColorConstants.BLACK);
p1.SetBold();
Paragraph P = new Paragraph(p1);
Paragraph P1 = new Paragraph("Je galère !! ");
doc.Add(P);
doc.Add(P1);
pdfdoc.Close();
doc.Close();
byte[] Contenu = File.ReadAllBytes(Ms.ToString());
MemoryStream Msf= new MemoryStream(Contenu);
using
(
var Str = new FileStream(Global.Path, FileMode.Append, FileAccess.Write)
)
{
Msf.WriteTo(Str);
Msf.Flush();
}
MessageBox.Show("Données écrites avec succés !! ");
}
}
}