我有一个看起来像这样的PDF样本
我正在尝试使用C#iTextSharp检索那些矩形/框
PdfReader reader = new PdfReader(inFileName);
for (int i = 1; i <= reader.NumberOfPages; ++i)
{
strPageNumber = i.ToString();
if (intCommentCount >= 5)
{
break;
}
PdfDictionary pagedic = reader.GetPageN(i);
var thing = reader.GetPageContent(i);
string converted = Encoding.UTF8.GetString(thing, 0, thing.Length);
PdfArray rectarray = (PdfArray)PdfReader.GetPdfObject(pagedic.Get(PdfName.RECT));
if (rectarray == null || rectarray.Size == 0)
{
continue;
}
}
然而,不幸的是,rectarray返回为null。我尝试使用BOX而不是RECT,但rectarray也以null返回]
使用C#iTextSharp从PDF收集BOX / RECTANGLE对象的方法是什么?>
提前谢谢您
我有一个看起来像这样的PDF样本,我正在尝试使用C#iTextSharp PdfReader reader = new PdfReader(inFileName);来检索那些矩形/框。对于(int i = 1; i <= ...
您可以使用PdfPig检索这些矩形。我不知道矩形是Path
还是Annotations
,所以这是两种情况的代码:
using (PdfDocument document = PdfDocument.Open("file.pdf"))
{
for (int i = 0; i < document.NumberOfPages; i++)
{
var page = document.GetPage(i + 1);
// if the rectangle are paths
var paths = page.ExperimentalAccess.Paths;
// if the rectangle are rectangles
var annotations = page.ExperimentalAccess.GetAnnotations().ToList();
foreach (var annotation in annotations)
{
var rectangle = annotation.Rectangle;
}
}
}