iText параграф накладывается на ранее сохранённый параграф

Мне необходимо выставить текст с определённым шрифтом и размером в определённом месте, поэтому счёл StampAnnotation не подходящим, т.к. не увидел, где и как можно установить свой шрифт. Проблема заключается в том, что после создания параграфа и проставки текста, может понадобится его изменить, но вместо проставки нового значения получется, что текст накладывается ("25шт." наложилось на "363936393639шт.", но притом в Adobe Acrobate Pro этот текст определяется как единый параграф)

введите сюда описание изображения

Я проставляю значение следующим способом:

var font = PdfFontFactory.CreateFont("C:\\Windows\\Fonts\\GOST Common.ttf", "Identity-H");
        _workingDocument.SetFont(font);

string utf8String = count + "шт.";
        var writableText = new Paragraph(utf8String).SetItalic().SetBold();

switch (_format)
        {
            case Formats.A4Book:
                x = 530;
                y = 175;
                ClearText(text, x, y); //Пытаюсь удалить значение при помощи PdfCleaner.AutoSweepCleanUp
                AddImage(x, y); //Проставляю картинку, которая перекрывает часть другого текста, который не очищается и не должен в методе ClearText
                writableText.SetFontSize(20).SetFixedPosition(x - 300, y, 350).SetTextAlignment(TextAlignment.RIGHT)
                    .SetHorizontalAlignment(HorizontalAlignment.RIGHT);
                _workingDocument.Add(writableText);
                break;
            case Formats.A3Album:
                ... // То же самое, но другие x и y
            case Formats.A3Book:
                ... // То же самое, но другие x и y
            default:
                ...
        }

Логика очистки:

int countTry = 0;
ICleanupStrategy cleanupStrategy =
            new RegexBasedCleanupStrategy(new Regex(@"(.*)[0-9]{1,}(.*)шт(.*)", RegexOptions.IgnoreCase))
                .SetRedactionColor(ColorConstants.WHITE);
while (countTry < 3)
{
     try
     {
            PdfCleaner.AutoSweepCleanUp(_document.GetFirstPage(), cleanupStrategy);
     }
     catch
     {
            // ignore
     }
     finally
     {
             countTry++;
     }
}

iText у меня версии 8.0.5, iText.pdfsweep 4.0.3, itext.bouncy-castle-adapter 8.0.5, .Net 8


Ответы (1 шт):

Автор решения: Qivorch Velix

Проблема оказалась в том, что System.Drawing.Common был установлен неявно и был устаревший, в итоге явная установка 9.0.0 помогла решить часть проблем с очисткой, но увы, всё равно удаление текста происходит не на всех файлах.

→ Ссылка