C# HTML正在嵌入pdf源文件(iTextSharp)

C# HTML正在嵌入pdf源文件(iTextSharp),c#,asp.net,pdf,webforms,itextsharp,C#,Asp.net,Pdf,Webforms,Itextsharp,我遵循的是《iText in Action》一书中创建PDF的早期示例。我在一个简单的ASP.NETWebForm中使用iTextSharp来构建PDF。在UltraEdit中查看源代码时,我注意到页面中的HTML被嵌入到文件的底部。然后我检查了我们在iTextSharp中构建的上一个报告,发现它的底部嵌入了HTML源代码(尽管是压缩格式)。HTML不会显示在呈现的PDF中,只显示源文件 我试图弄清楚为什么会发生这种情况,以及是否有办法阻止它 在页面上,我有一个触发此事件的按钮(最后一块是本地下

我遵循的是《iText in Action》一书中创建PDF的早期示例。我在一个简单的ASP.NETWebForm中使用iTextSharp来构建PDF。在UltraEdit中查看源代码时,我注意到页面中的HTML被嵌入到文件的底部。然后我检查了我们在iTextSharp中构建的上一个报告,发现它的底部嵌入了HTML源代码(尽管是压缩格式)。HTML不会显示在呈现的PDF中,只显示源文件

我试图弄清楚为什么会发生这种情况,以及是否有办法阻止它

在页面上,我有一个触发此事件的按钮(最后一块是本地下载文档的代码。本书中的示例中没有此代码):

pdf源文件以典型的标题开头

%PDF-1.4
%âãÏÓ
2 0 obj
<</Length 81/Filter/FlateDecode>>stream
%PDF-1.4
%âãÏÓ
20 obj
流动
最后,您可以看到它附加了调用页面中的HTML

</Size 7/Root 5 0 R/Info 6 0 R/ID [<aff0a4a6eb7e3827497db957aaef3eb3><aff0a4a6eb7e3827497db957aaef3eb3>]>>
%iText-5.5.1
startxref
620
%%EOF


<!DOCTYPE html>
<!--[if IE 8]>         <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js" lang="en">
<!--<![endif]-->
...
>
%iText-5.5.1
起始外部参照
620
%%EOF
...

它继续执行,将该页面中的所有HTML嵌入到文件中

您的BtnSamplePDF\u单击将进行页面回发-您的其余代码逻辑很好,但由于页面被要求呈现,因此您将获得这些结果


如果您更改代码以便调用返回字节[]的处理程序(ashx),它将正常工作。

您的BtnSamplePDF\u单击将执行页面回发-您的其余代码逻辑正常,但由于请求呈现页面,因此您将获得这些结果


如果您更改代码以便调用返回字节[]的处理程序(ashx),它将正常工作。

我记不起管道的开始和结束部分,但您是否可以尝试在其中抛出
Response.Close()
,也是?我已经记不起管道的开始和结束部分了,但是你能试着在那里也抛出
Response.Close()
</Size 7/Root 5 0 R/Info 6 0 R/ID [<aff0a4a6eb7e3827497db957aaef3eb3><aff0a4a6eb7e3827497db957aaef3eb3>]>>
%iText-5.5.1
startxref
620
%%EOF


<!DOCTYPE html>
<!--[if IE 8]>         <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js" lang="en">
<!--<![endif]-->
...