我正在调试生成PDF的应用程序,该应用程序将被发送到我无法访问的位置。我想要一个PDF文件的例子。当我调试时,我能够在一个点上检查适当的对象,其中PDF的数据存储为字节数组。
似乎应该可以提取二进制数据,将其保存到文件中,将其称为.pdf并查看它。这可能吗?我可以通过几种不同的方式将应用程序分开,以便将PDF输出到浏览器,但这非常混乱,因为它的逻辑被深深地埋没了。
答案 0 :(得分:1)
您可以在代码库中的某处轻松添加实用程序方法,使用BinaryWriter类将字节数组写入磁盘。例如:
[Conditional("DEBUG")]
public static void WriteBytesToTempFile(byte[] fileContent)
{
var tempFileName = "c:\temp.pdf";
if (File.Exists(tempFileName))
File.Delete(tempFileName);
using (var writer = new BinaryWriter(File.Open(tempFileName, FileMode.Create)))
{
writer.Write(fileContent);
}
}
当你是调试器时,你可以使用Visual Studio Immediate Window来调用方法并传入你的pdf字节。
或者您可以直接从代码中调用该方法。我添加了Conditional属性,因此只有在使用“debug”进行编译时才会调用该方法。如果使用“release”配置文件进行编译,编译器将省略方法调用。