我有带文字的PDF文件。我的应用程序基于WPF。我需要打开PDF,在表单中显示,然后用户分配区域,我需要从这些区域读取文本。为此我使用ItextSharp并检查所有章程。如果包含在矩形中,它正在写入特定的字典。
LinkedList<String>
List<List<ExtendedTextChunk>> ls = Reader.GetLocTextPDF(inp);
List<Dictionary<string, string>> texts = new List<Dictionary<string, string>>();
Dictionary<string, RectangleJ> zones = new Dictionary<string, RectangleJ>()
{
{ "test_zone", new RectangleJ(54,718,52,8) },
{ "document_number", new RectangleJ(507,612,57,7) },
};
texts.Add(new Dictionary<string, string>());
for (int i = 0; i < ls[0].Count; i++)
{
for (int j = 0; j < ls[0][i].Chars.Count; j++)
{
foreach (string zone in zones.Keys)
{
RectangleJ a = ls[0][i].Chars[j].Location.Intersection(zones[zone]);
if (a.Width > 0 && a.Height > 0)
{
if (!texts[texts.Count - 1].ContainsKey(zone))
texts[texts.Count - 1][zone] = "";
texts[texts.Count - 1][zone] += ls[0][i].Chars[j].Text;
}
}
}
}
我的问题是从用户那里获取这个矩形。抱歉英语不好,谢谢你的时间。 =)