[英]Reading a PDF File From a SharePoint Library Using iTextSharp
我需要阅读位于SharePoint 2013库中的PDF。
我可以从本地文件夹中读取PDF,但不能从库中读取。
具体来说,我需要在PDF文本中搜索一些关键字,然后根据条件将文件从当前库移动到另一个SharePoint库。
我还发现我从下面的代码中得到一个错误:
PdfReader pdfReader = new PdfReader("http://mysharepointsite.com/MyDocumentLibrary/MyFile.pdf");
错误为“远程服务器返回错误:(401)未经授权。”
任何帮助,将不胜感激。
谢谢!
当PdfReader
用URL实例化时,它使用System.Net.WebRequest
对象,其Credentials
设置为CredentialCache.DefaultCredentials
,相关的行( 从此处开始 )如下:
WebRequest wr = WebRequest.Create(url);
wr.Credentials = CredentialCache.DefaultCredentials;
Stream isp = wr.GetResponse().GetResponseStream();
如果PdfReader
原样使用PdfReader
,则需要操纵CredentialCache.DefaultCredentials
。 但是,这是一个只读属性,因此您可能需要实际设置IIS来模拟当前登录的用户。
另一个选择是不使用url
方法,而是编写您自己的代码,该代码可以直接访问文件系统,也可以使用您自己的身份验证规则下载文件,然后将该PDF传递给PdfReader
构造函数。
最终,这不是iTextSharp问题,而是IIS / SharePoint / .Net问题。 为了排除故障,我们需要知道此代码在什么上下文中运行。 它是Web服务器还是桌面应用程序? 应用程序的上下文是否具有与SharePoint对话的权限?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.