我有问题,我会用 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 pypdf
pdfobject=open('sample.pdf','rb')
pdf=pypdf.PdfFileReader(pdfobject)
print(pdf.getFields())
正如您所读,我想查看生成的复选框状态,无论是 python 还是 c#、php 有谁知道这个问题的解决方案吗?
三国纷争
相关分类