Как редактировать PDF в C# в формах WindowsC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как редактировать PDF в C# в формах Windows

Сообщение Anonymous »

Это мой код: < /p>
public class PDFGenerator
{
public static void FillCharacterSheet()
{
string inputPdfPath = @"D:\mypath\DnD_5E_CharacterSheet_FormFillable.pdf";
string outputPdfPath = @"D:\mypath\Ready.pdf";

//
PdfReader pdfReader = new PdfReader(inputPdfPath);
PdfWriter pdfWriter = new PdfWriter(outputPdfPath);
PdfDocument pdfDoc = new PdfDocument(pdfReader, pdfWriter);
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, true);

//
form.GetField("CharacterName").SetValue(PlayerStats.Name);
form.GetField("Race").SetValue(PlayerStats.Race);
form.GetField("ClassLevel").SetValue(PlayerStats.Class);

//
form.GetField("STR").SetValue(PlayerStats.STR.ToString());
form.GetField("DEX").SetValue(PlayerStats.DEX.ToString());
form.GetField("CON").SetValue(PlayerStats.CON.ToString());
form.GetField("INT").SetValue(PlayerStats.INT.ToString());
form.GetField("WIS").SetValue(PlayerStats.WIS.ToString());
form.GetField("CHA").SetValue(PlayerStats.CHA.ToString());

//
form.GetField("STRmod").SetValue(PlayerStats.STRm.ToString());
form.GetField("DEXmod").SetValue(PlayerStats.DEXm.ToString());
form.GetField("CONmod").SetValue(PlayerStats.CONm.ToString());
form.GetField("INTmod").SetValue(PlayerStats.INTm.ToString());
form.GetField("WISmod").SetValue(PlayerStats.WISm.ToString());
form.GetField("CHAmod").SetValue(PlayerStats.CHAm.ToString());

//
form.GetField("Acrobatics").SetValue(PlayerStats.ACR.ToString());
form.GetField("Animal").SetValue(PlayerStats.ANM.ToString());
form.GetField("Arcana").SetValue(PlayerStats.ARC.ToString());
form.GetField("Athletics").SetValue(PlayerStats.ATH.ToString());
form.GetField("Deception").SetValue(PlayerStats.DEC.ToString());
form.GetField("History").SetValue(PlayerStats.HIS.ToString());
form.GetField("Insight").SetValue(PlayerStats.INS.ToString());
form.GetField("Intimidation").SetValue(PlayerStats.IND.ToString());
form.GetField("Investigation").SetValue(PlayerStats.INV.ToString());
form.GetField("Medicine").SetValue(PlayerStats.MED.ToString());
form.GetField("Nature").SetValue(PlayerStats.NAT.ToString());
form.GetField("Perception").SetValue(PlayerStats.PER.ToString());
form.GetField("Performance").SetValue(PlayerStats.PEF.ToString());
form.GetField("Persuasion").SetValue(PlayerStats.PES.ToString());
form.GetField("Religion").SetValue(PlayerStats.REL.ToString());
form.GetField("SleightofHand").SetValue(PlayerStats.SOH.ToString());
form.GetField("Stealth").SetValue(PlayerStats.STE.ToString());
form.GetField("Survival").SetValue(PlayerStats.SUR.ToString());

//
pdfDoc.Close();

//
Process.Start(new ProcessStartInfo(outputPdfPath) { UseShellExecute = true });

Console.WriteLine("PDF is done!");
}
}
< /code>
Я пытаюсь загрузить PDF (прочитайте его), это как шаблон для листа символов, чем заполнить некоторые детали и сохранить его как отредактированный PDF.
У меня есть Это неизвестное исключение PDF, когда я нажимаю кнопку, генерирует этот код. < /p>
Исключение: < /p>
iText.Kernel.Exceptions.PdfException: Unknown PdfException.
---> System.NotSupportedException: Either com.itextpdf:bouncy-castle-adapter or com.itextpdf:bouncy-castle-fips-adapter dependency must be added in order to use BouncyCastleFactoryCreator
at iText.Bouncycastleconnector.BouncyCastleDefaultFactory.CreateIDigest(String hashAlgorithm)
at iText.Kernel.Pdf.SmartModePdfObjectsSerializer..ctor()
--- End of inner exception stack trace ---
at iText.Kernel.Pdf.SmartModePdfObjectsSerializer..ctor()
at iText.Kernel.Pdf.PdfWriter..ctor(Stream os, WriterProperties properties)
at iText.Kernel.Pdf.PdfWriter..ctor(String filename, WriterProperties properties)
at iText.Kernel.Pdf.PdfWriter..ctor(String filename)
at DnD_Character_Creator.Form1.PDFGenerator.FillCharacterSheet() in D:\C# PROJECTS\DnD_Character_Creator\Form1.cs:line 360
at DnD_Character_Creator.Form1.buttonGenerate_Click(Object sender, EventArgs e) in D:\C# PROJECTS\DnD_Character_Creator\Form1.cs:line 328
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(HWND hWnd, MessageId msg, WPARAM wparam, LPARAM lparam)
< /code>
Я использую WindowsForms, и я не очень знаком с библиотекой ITEXT7. Что я могу попробовать дальше?

Подробнее здесь: https://stackoverflow.com/questions/794 ... dows-forms
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»