@BSchwab
We always request for a sample file for testing because PDF documents have different structures. Even two identical PDF documents can have different structures. Nevertheless, the PDF you shared has only one page and we could not perform complete test on it. However, we have tested using one of our sample files and noticed the same issue that you mentioned. We shifted the logic to initialize text fragment inside the loop and issue was resolved.
Aspose.Pdf.Document asposeDoc = new Aspose.Pdf.Document(dataDir + @"test.pdf");
foreach (Aspose.Pdf.Page page in asposeDoc.Pages)
{
TextFragment textFragment = new TextFragment("text");
textFragment.TextState.Font = FontRepository.FindFont("Arial");
textFragment.Position = new Position(100, 100);
TextBuilder textBuilder = new TextBuilder(page);
textBuilder.AppendText(textFragment);
}
asposeDoc.Save(dataDir + @"test_new.pdf");
Please use the code like above and let us know in case you still notice any issue.