我有问题,我会用 php 生成 pdf 中的复选框,但是如果我重新检查复选框状态,我找不到复选框。我试过:TCPDF(生成)C#(阅读,未找到复选框)Python(读取,Pypdf2,未找到复选框)图片:Acrobat Reader 打开 pdf 显示复选框 ( https://prnt.sc/uqjny8 )Python 3.8 阅读器输出 ( https://prnt.sc/uqjp9o )C# 代码输出 ( https://prnt.sc/uqjpnw )文件:没有复选框的简单 PDF ( http://www.africau.edu/images/default/sample.pdf )带有复选框的 PDF ( https://easyupload.io/zjn85z )PHP 复选框生成代码:$pdf = new \setasign\Fpdi\TcpdfFpdi('L', 'mm', 'A4');$pages = $pdf->setSourceFile('file://C:/Users/JonDoe/Desktop/sample.pdf');for ($i = 1; $i <= $pages; $i++){ $pdf->AddPage(); $page = $pdf->importPage($i); $pdf->useTemplate($page, 0, 0); $pdf->CheckBox('newsletter', 5, true, array(), array(), 'OK1', 600/5, 500/5, true);}$pdf->Output("file://C:/Users/JonDoe/Desktop/sample.pdf", 'F');读者脚本:C#:using System;using iTextSharp.text.pdf;using System.Linq;namespace PDF_Checkbox{ class Program { static void Main(string[] args) { string path = "C:\\Users\\JonDoe\\Desktop\\sample"; PdfReader reader2 = new PdfReader(@"" + path + ".pdf"); var fieldList = GetFormFieldNamesWithValues(reader2); Console.WriteLine("============================================================"); Console.WriteLine("Fields: " + fieldList); Console.WriteLine("============================================================"); Console.ReadKey(); } private static string GetFormFieldNamesWithValues(PdfReader pdfReader) { return string.Join("\r\n", pdfReader.AcroFields.Fields.Select(x => x.Key + "=" + pdfReader.AcroFields.GetField(x.Key)).ToArray()); } }}Python 3.8:import PyPDF2 as pypdfpdfobject=open('sample.pdf','rb')pdf=pypdf.PdfFileReader(pdfobject)print(pdf.getFields())正如您所读,我想查看生成的复选框状态,无论是 python 还是 c#、php 有谁知道这个问题的解决方案吗?
1 回答
三国纷争
TA贡献1804条经验 获得超7个赞
您传递true
给$js
参数,该参数不会真正将复选框添加到 PDF,但会包含 JavaScript,它将在打开时创建字段(通过能够执行 JavaScript 的查看器应用程序)。
尝试传递false
或保留参数(false
= 默认值)。
添加回答
举报
0/150
提交
取消