Добавляя текст в pdf в результате он либо перевернут, либо отражен

Необходимо в файлы пдф вписать строки. Использую такой код (из plm-системы):

public void AddText3 (FileDesc fDesc, MemoryStream outputPdfStream)
{
    using (var input PdfStream = new MemoryStream())
    using (var srcStream = fDesc. DownloadingDataStream )
    {
        srcStream.Copy( inputPdfStream); 
        inputPdfStream.Position = 0;
        using (var reader = new iText.Kernel.pdf.PdfReader (inputPdfStream) )
        using (var writer = new iText.Kernel.Pdf.PdfWriter (outputPdfStream)) 
        using (var pdfDoc = new iText.Kernel.Pdf.PdfDocument (reader, writer))
        {
            //всего листов (для цикла)
            var numberOfPages = pdfDoc.GetNumberOfPages();
            //Шрифт
            string fontPath = Path.Combine( Environment.GetFolderPath( Environment.Special Folder.Fonts ), "arial.ttf" );
            var font = iText.Kernel.Font.Pdf FontFactory.CreateFont (fontPath, iText.10.Font.PdfEncodings.IDENTITY_H, true); // Высота шрифта
            var fontSize = 14f;
            //Отступы для надписи var marginx = 20;
            var marginŸ = 20;
            //Надпись
            string text = "Учтенная копия";
            // Высота области в которой будет надпись
            var textWidth = font.GetWidth (text, fontSize);
            for (var i = 1; i<=numberOfPages; i++)
            {
                //лист
                var page = pdfDoc.GetPage(i);
                var canvas = new iText.Kernel.Pdf.Canvas.PdfCanvas (page.NewContentStreamAfter(), page.GetResources(), pdfDoc);
                var y = page.GetPageSizeWithRotation().GetHeight() - marginy - fontSize;
                canvas.SaveState();
                canvas
                    .SetFontAndSize (font, fontSize)
                    .BeginText()
                        .MoveText(0, 0)
                        .ShowText (text)
                    .EndText();
                canvas.RestoreState();

            }
        }
    }
}   

Но на трех файлах получил разный результат. в первом надпись появилось в левом нижнем углу, во втором в верхнем правом причем вдоль вертикали, в третьем - в верхнем левом, буквы отзеркалены и написаны вдоль как будто начало координат верхний левый угол. Пробовал анализировать команды pdf "cm" чтобы понять в каком положении сейчас матрица, но понял что это без толку. Может кто сталкивался или знает в чем причина таких разных результатов.


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