确定具有云文件路径的 PDF 文件是否受密码保护(路径以 https:\\ 开头)
Determining if a PDF File with Cloud File path is Password protected or Not (path starting with https:\\)
我正在使用 DotNetZip(来自 NuGet 包)。这通常适用于具有 ("@C:) 的文件路径,但一旦使用像 (https:) 这样的云文件路径,它就会给我 IBM437 错误。
我可以使用这个包,但需要引入一些编码,这是另一个问题。
我尝试使用 SharpZipLib(另一个 NuGet 包)但在 Internet 上找不到任何与云文件路径相关的信息。 (http:).
我也试过 Spire PDF 但它抛出 文件不存在(参数 'fileName')错误 密码保护PDF.
URL 用于 NuGet 包 -
DotNetZip-https://www.nuget.org/packages/DotNetZip/
SharpZipLib- https://www.nuget.org/packages/SharpZipLib.NETStandard/
如果需要更多信息,请告诉我。
您可以尝试将.pdf 文件下载为本地临时文件,然后检查是否可以在没有密码的情况下打开它。只需尝试下面的 C# 控制台应用程序:
using Spire.Pdf;
using System;
using System.IO;
using System.Net;
namespace PDFtest
{
class Program
{
static void Main(string[] args)
{
var passwordPDFURL = "https://stantest1016.blob.core.windows.net/static/testPass.pdf";
var noPassWordPDFURL = "https://stantest1016.blob.core.windows.net/static/testNoPass.pdf";
var tempFilePath = "d:/temp/temp.pdf";
//download file as a temp pdf file
WebClient webClient = new WebClient();
webClient.DownloadFile(passwordPDFURL, tempFilePath);
try
{
PdfDocument pdf = new PdfDocument(tempFilePath);
Console.WriteLine("PDF has been opened successfully with no password");
}
catch (Exception e) {
Console.WriteLine(e.Message);
}
//remove temp file
File.Delete(tempFilePath);
}
}
}
测试受密码保护的 .pdf 结果:
测试无密码保护.pdf 结果:
我正在使用 DotNetZip(来自 NuGet 包)。这通常适用于具有 ("@C:) 的文件路径,但一旦使用像 (https:) 这样的云文件路径,它就会给我 IBM437 错误。 我可以使用这个包,但需要引入一些编码,这是另一个问题。
我尝试使用 SharpZipLib(另一个 NuGet 包)但在 Internet 上找不到任何与云文件路径相关的信息。 (http:).
我也试过 Spire PDF 但它抛出 文件不存在(参数 'fileName')错误 密码保护PDF.
URL 用于 NuGet 包 - DotNetZip-https://www.nuget.org/packages/DotNetZip/ SharpZipLib- https://www.nuget.org/packages/SharpZipLib.NETStandard/
如果需要更多信息,请告诉我。
您可以尝试将.pdf 文件下载为本地临时文件,然后检查是否可以在没有密码的情况下打开它。只需尝试下面的 C# 控制台应用程序:
using Spire.Pdf;
using System;
using System.IO;
using System.Net;
namespace PDFtest
{
class Program
{
static void Main(string[] args)
{
var passwordPDFURL = "https://stantest1016.blob.core.windows.net/static/testPass.pdf";
var noPassWordPDFURL = "https://stantest1016.blob.core.windows.net/static/testNoPass.pdf";
var tempFilePath = "d:/temp/temp.pdf";
//download file as a temp pdf file
WebClient webClient = new WebClient();
webClient.DownloadFile(passwordPDFURL, tempFilePath);
try
{
PdfDocument pdf = new PdfDocument(tempFilePath);
Console.WriteLine("PDF has been opened successfully with no password");
}
catch (Exception e) {
Console.WriteLine(e.Message);
}
//remove temp file
File.Delete(tempFilePath);
}
}
}
测试受密码保护的 .pdf 结果:
测试无密码保护.pdf 结果: