首页 > 解决方案 > 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基于其他条件。

标签: c#.netpdfsharp

解决方案


您正在尝试从 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。


推荐阅读