Friend, let's better understand the application of your system ... I could not understand what you need, so we can give you a better answer.
Will you have a Form, or contract, or something like that that needs to be filled out by several client people or employees? Through the right system?
Does the content of this PDF constantly change? Are there several types of forms? (If both are negative you can put the contents of it fixed in your code or save the text in a table from a screen where the user that forms the form type and click on any button that adds a gap and so on and so forth. at the time of generating the PDF within the application you replace these Tags with the fields.)
UPDATE:
I found an example that might help you!
//Read all 'Form values/keys' from an existing multi-page PDF document
public void ReadPDFformDataPageWise()
{
PdfReader reader = new PdfReader(Server.MapPath(P_InputStream3));
AcroFields form = reader.AcroFields;
try
{
for (int page = 1; page <= reader.NumberOfPages; page++)
{
foreach (KeyValuePair<string, AcroFields.Item> kvp in form.Fields)
{
switch (form.GetFieldType(kvp.Key))
{
case AcroFields.FIELD_TYPE_CHECKBOX:
case AcroFields.FIELD_TYPE_COMBO:
case AcroFields.FIELD_TYPE_LIST:
case AcroFields.FIELD_TYPE_RADIOBUTTON:
case AcroFields.FIELD_TYPE_NONE:
case AcroFields.FIELD_TYPE_PUSHBUTTON:
case AcroFields.FIELD_TYPE_SIGNATURE:
case AcroFields.FIELD_TYPE_TEXT:
int fileType = form.GetFieldType(kvp.Key);
string fieldValue = form.GetField(kvp.Key);
string translatedFileName = form.GetTranslatedFieldName(kvp.Key);
break;
}
}
}
}
catch
{
}
finally
{
reader.Close();
}
}
This and other examples of how to use iTextSharp
find in this link