我尝试开发一个比较pdf文件的exe tu。我需要获得主PDF和生成的PDF之间的所有差异,例如图像或文本的位置和大小,文本内容以及尽可能多的数据。
这是我用iTextSharp进行的测试,试图获取我需要的数据:
Document doc = new Document();
PdfReader reader = new PdfReader(@"C:\tmp\PDFFlattener\Input\Interior_30087_068x1XWX6516_M_210x297_FLA_68_1_5873301420.pdf");
for (int page = 1; page <= reader.NumberOfPages; page++)
{
var currentPage = reader.GetPageN(page);
PdfDictionary pageDico = currentPage.GetAsDict(PdfName.RESOURCES);
PdfDictionary objectDico = pageDico.GetAsDict(PdfName.XOBJECT);
foreach (var item in objectDico)
{
PdfName imgRef = item.Key;
PRStream stream = (PRStream)objectDico.GetAsStream(imgRef);
PdfName subType = stream.GetAsName(PdfName.SUBTYPE);
PdfName coords = stream.GetAsName(PdfName.COORDS);
PdfName width = stream.GetAsName(PdfName.WIDTH);
PdfName xyz = stream.GetAsName(PdfName.XYZ);
}
}
除SUBTYPE之外的所有PdfNames都返回空值。
是否可以获取xObject的X和Y位置?我也尝试过ABCPdf,但我的结果相同。
感谢阅读,