c# - PdfSharp:从指定的文件路径和名称获取 PdfDocument
问题描述
我在 .net 应用程序中使用 pdfsharp,并试图从指定的路径和文件名打开 pdf。但是,当我尝试这个时:
PdfDocument doc = PdfReader.Open(path, PdfDocumentOpenMode.Import);
文件路径和名称在哪里path
,它被附加到我项目的 web 文件夹的路径中。例如,如果我的路径是https:\site.net\files\thisfile.pdf
,它将C:\Users\thisuser\Proj\ProjWeb\https:\site.net\files\thisfile.pdf
改为搜索。
如何PdfDocument
仅使用我指定的路径和文件名而不附加此附加路径?
解决方案必须考虑多个文件路径,因为 的值path
基于其他条件。
解决方案
您正在尝试从 URL 加载文件,而 Pdfreader.Open 仅支持在本地或从流中加载文件。
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(path);
Stream pdfstream = req.GetResponse().GetResponseStream();
PdfDocument doc = PdfReader.Open(pdfstream, PdfDocumentOpenMode.Import);
上面的代码将尝试将 PDF 从远程 url 加载到 Stream,然后从所述流中打开 PDF。我没有对此进行测试,但根据这个(获得代码的地方)https://forum.pdfsharp.net/viewtopic.php?f=2&t=2030,您可能必须使用 MemoryStream 代替 Stream。
推荐阅读
- gradle - 为什么 Gradle 不使用插件 pom.xml 中声明的 Maven 存储库?
- sql - SQL计算百分比
- java - 春季动态特征标志
- r - 带有省略号的PCA,R中没有颜色
- ssl - IBM WAS 7.5 SSLException SSLSocketFactory 为空
- mysql - MySQL 优化:单个查询中的多种模式(最常见的值)
- python - NoReverseMatch at /cart/ 未找到带有参数 '('',)' 的“cart_add”的反向。尝试了 1 种模式:['cart/add/(?P
[0-9]+)/$'] - r - 如何在 R 中导入 Excel 表以获取二进制变量?
- java - 使用 MapR MultipleOutputs 写入 OrcNewOutputFormat 时出错
- symfony - 替换继承另一个服务的参数