Вот моя проблема.
Я делаю шаблон Excel с помощью VSTO.Все данные, отображаемые в Excel, поступают из базы данных.В шаблоне Excel я поместил кнопку, которая открывает существующий шаблон формы PDF, заполняет его данными из БД и сохраняет копию.Для этого я использовал библиотеку ITextSharp, которая мне очень помогла.Пока здесь нет проблем.
Теперь я хочу, чтобы каждое поле в PDF-файле имело ссылку на ячейку в Excel.PDF только для чтения, и это только способ отображения данных, хранящихся в БД.Когда пользователь хочет изменить значение поля, он должен сделать это в Excel.Таким образом, цель состоит в том, чтобы, когда он хочет изменить значение в PDF, он просто щелкает по полю и собирается перенаправить на нужную ячейку в Excel, чтобы изменить значение.
Я не думаю, что есть способ выполнить это действие в JavaScript в Acrobat, потому что, если я не ошибаюсь, Acrobat не позволит вам вызвать макрос из JS.
Я подумал, может быть, во ВСТО есть способ контролировать Acrobat, но я его не нашел.
Если у вас есть идеи, как это сделать, я буду великолепен.Вот часть моего кода, может быть, это будет понятнее.
string pdfTemplatePath = @"C:\Files.pdf";
string pdfFinalFile = @"C:\fileCopy.pdf";
PdfReader reader = new PdfReader(pdfTemplatePath);
PdfStamper stamper = new PdfStamper(reader, new FileStream(pdfFinalFile, FileMode.Create));
AcroFields form = stamper.AcroFields;
foreach (DataRow row in data.Rows)
{
form.SetField(row["Name"].ToString(), row["Value"].ToString());
}
stamper.FormFlattening= false;
stamper.Close();