Я установил пакет nuget itext7 (8.0.4) для C# для работы с PDF-файлами, и мне нужно заполнить текстовые поля, а затем повернуть их около 25 градусов.
Я попросил чатгпт найти решение, и он нашел следующее:
using iText.Forms.Fields;
using iText.Kernel.Pdf;
PdfDocument pdfDoc = new PdfDocument(new PdfReader("input.pdf"), new PdfWriter("output.pdf"));
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, true);
PdfFormField field = form.GetField("fieldName");
field.SetRotation(90); // Set rotation angle in degrees
pdfDoc.Close();
но для PdfFormField нет метода SetRotation. Это основная проблема.
Я ОЧЕНЬ новичок в C#, в основном я писал компоненты Vue с помощью машинописного текста, поэтому не могу правильно разобраться в этой проблеме.
Кстати, я очень близок к созданию собственной библиотеки PDF (вероятно, не следует этого делать) — есть ли какие-нибудь хорошие руководства по созданию файлов PDF с нуля?
Может быть, я слишком много об этом думаю. Может быть, было бы проще просто преобразовать текстовое поле в обычный текст и вместо этого повернуть его? Мне не нужно, чтобы поля оставались полями после того, как я их заполнил.
РЕШЕНИЕ (на основе ответа mkl):
var widget = field.GetWidgets()[0];
var chars = new PdfDictionary();
chars.Put(PdfName.R, new PdfNumber(degrees));
widget.SetAppearanceCharacteristics(chars);
Подробнее здесь: https://stackoverflow.com/questions/786 ... ent-with-c