如何从特定矩形区域内的pdf文档中提取文本?

我必须从特定矩形区域内的pdf文档中提取文本。 工作流程如下。 首先,pdf被转换为jpg图像。 然后用户在图片顶部绘制选择矩形。 然后我不知何故需要从该选择区域内的pdf doc中提取所有文本。 有什么建议从C#可以使用的免费软件pdf库吗?

刮刮Facebook应用程序获取数据

我正在使用一个Facebook应用程序,它具有丰富的信息,我想在线下获取。 为此,我基本上需要从网页中读取信息到我自己的数据库中。 显然,我不想手动保存页面,让我的应用程序读取页面并从中提取相关详细信息。 不幸的是,我首先要求对Facebook进行身份validation。 所以当我运行这段代码时: private static string getPage(string pageAddress) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri(baseUri, pageAddress)); HttpWebResponse response = (HttpWebResponse)req.GetResponse(); StreamReader readStream = new StreamReader(response.GetResponseStream()); string page = readStream.ReadToEnd(); readStream.Close(); response.Close(); // I know, I’m paranoid and this is likely redundant… return page; } 我收到了这个回复: if (parent != self) top.location.href = “http://www.facebook.com/login.php?api_key=&canvas&v=1.0”; else self.location.href […]

如何将所有引用的DLL移动到c#中的单独文件夹中?

我有一个包含3个项目的解决方案。 其中2个项目引用了log4net和其他几个DLL。 当我创建安装包并为每个项目添加项目输出时 – 它将DLL丢弃到主“应用程序文件夹”中。 如果我将这些DLL拖到我在安装项目中创建的单独文件夹中,应用程序将无法运行“无法找到log4net”。 我希望这些DLL引用真的像“bin”或任何名称,只是不是他们添加混乱的主文件夹 – 我只想在主文件夹中的我的2.exe。 我尝试在每个项目中添加一个引用路径指向“bin”文件夹。 然后在安装项目中,我添加了一个名为“bin”的输出文件夹,并将DLL移动到该文件夹​​中,仍然无效。 我错过了什么! 我花了几个小时环顾四周试图弄清楚我做错了什么,也许这就是我出生的方式! 谢谢你的帮助!

如何删除Linq to Entity中的多个记录?

我在sql中有一个tblA: id int (primary key) fid int tblA中的数据是: 1 1 2 1 3 2 4 2 5 3 6 3 我通过以下代码删除一条记录 : DatabaseEntities obj = new DatabaseEntities(); int i = 2; tblA t = obj.tblA.Where(x => x.fid == i).FirstOrDefault(); obj.DeleteObject(t); obj.SaveChanges(); 我通过以下代码删除多条记录: DatabaseEntities obj = new DatabaseEntities(); int i = 2; while (obj.tblA.Where(x => x.fid […]

在c ++ / cli dll中引发事件并在c#中使用

在我的c#app中,我有一个进度条。 C#app正在调用一个处理大量文件的c ++ / cli dll。 当在dll中处理每个文件时,我想跟踪它在c#app中的进度。 为此我需要在c ++ / cli中引发一个事件并在C#中使用它。 从MSDN我收集我需要在我的c ++ / cli类中: delegate void Del(int); event Del^ E; void fire(int i) { E(i); } MSDN活动 在MSDN中,事件的接收者位于相同的c ++ / cli项目中,并显示如何引发事件。 在我的项目中,c#app将接收在处理每个文件后应在c ++ / cli中引发的事件。 我也搜索了很多,但还没弄清楚。 所以,我的问题是,如何在c ++ / cli中引发此事件,以及如何将c#程序连接到它? 一些代码显示了这样做的方式将非常感激。 谢谢! 马特,谢谢你的回应。 在C#我正在尝试 MW.Class1 oM = new MW.Class1(); oM.fire += ProgressBarChanged(int i); 它不能编译说不能分配因为fire是一个方法组。 […]

WPF ContextMenu itemtemplate,menuitem中的menuitem

我有以下xaml: TestItemModel类仅包含IsSelected布尔属性和Header字符串属性。 TestItems是TestItemModels的列表。 数据绑定到contextmenu,但它在UI中反映为MenuItem中的MenuItem(具有额外的边距,使菜单非常大)。 我可以通过将DataTemplate中的MenuItem更改为TextBox来解决这个问题,但之后我再也无法绑定IsSelected(我需要可视化属性)。 我对此有几个问题: 为什么MenuItem中有MenuItem? 这对我来说没有意义,因为它没有绑定到menuitem列表而是绑定到TestItemModel列表。 我该如何解决这个问题?

使用Unity与最小配置

在工作中,我们使用Unity很多。 它的function非常棒,但您使用的越多,配置文件越多,运行时问题就越多,您为每个测试项目重新创建统一配置的次数就越多。 所以我们最终得到一个巨大的统一配置部分,必须在几个项目中复制,当需要部署时,你最终必须追踪你忘记添加引用的dll,但是你只能在运行时发现它们。 不好玩。 我猜测有人遇到过这个问题而且有一个解决方案。 理想情况下,我想弄清楚如何以一种使用约定优于配置的方式配置Unity并减少运行时问题(即,巨大的配置文件)。 有人知道用最小配置实现Unity的好方法吗? 编辑:有一点:我必须坚持只使用Unity。 无法真正切换到Ninject等

在WPF中生成和绘制video的快速方法是什么?

我正在编写一个video播放器来播放由我们的ASIC捕获的帧。 它们采用自定义格式,并且我已经提供了解码ASIC状态的function。 video可以是640×480到2560×1200(!!!)的任何大小。 每个状态周期的输出是16×16像素块,我必须在屏幕上看到一个video。 每次需要更新屏幕时,我都会收到以下信息: 块宽 块高 块开始的X坐标 块开始的Y坐标 RGB32像素颜色信息的一维数组 主要限制: .NET 3.5 没有不安全的代码 我今天早上花了一些时间尝试WriteableBitmap,并将其用作Image的源代码,如下所示: private WriteableBitmap ImageSource; public MainWindow() { InitializeComponent(); ImageSource = new WriteableBitmap(FrameWidth, FrameHeight, 96, 96, PixelFormats.Bgr32, null); ImagePanel.Source = ImageSource; } private void DrawBox(byte Red, byte Green, byte Blue, int X, int Y) { int BoxWidth = 16; int BoxHeight = […]

Java数字签名与C#不同

我有以下c#代码从私钥生成数字签名: static string Sign(string text, string certificate) { X509Certificate2 cert = new X509Certificate2(certificate, “TestPassword”, X509KeyStorageFlags.Exportable); RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)cert.PrivateKey; // Hash the data SHA1Managed sha1 = new SHA1Managed(); ASCIIEncoding encoding = new ASCIIEncoding(); byte[] data = encoding.GetBytes(text); byte[] hash = sha1.ComputeHash(data); // Sign the hash return System.Convert.ToBase64String(rsa.SignHash(hash, CryptoConfig.MapNameToOID(“SHA1”))); } 然后我创建了我认为是等效的java代码: public static String signData(String dataToSign, […]

使用C#和MVC3的HttpFileCollectionBase问题上传多个文件

我创建了一个保存文件的控制器。 以下代码是该控制器的一部分: if ( Request.Files.Count != 0 ) { HttpFileCollectionBase files = Request.Files; foreach ( HttpPostedFileBase file in files ) { if ( file.ContentLength > 0 ) { if ( !file.ContentType.Equals( “image/vnd.dwg” ) ) { return RedirectToAction( “List” ); } } } } 在ASPX页面很简单: …// many inputs type file 问题是foreach因为它返回一个错误(我知道因为我在调试模式下运行并在foreach语句中放置了断点): Unable to cast object of […]