我想加载没有工具栏的pdf文件。 如果我直接使用iframe加载pdf文件意味着它不显示工具栏 (使用工具栏工作正常)。但如果我以编程方式执行此操作意味着它显示工具栏,即使我给toolbar = 0。 所以如何处理这个问题。
下面的代码是程序化的pdf加载。但它显示了工具栏。
protected void Page_Load(object sender, EventArgs e)
{
byte[] content =FileToByteArray(Server.MapPath("Test.pdf"));
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=Test.pdf#toolbar=0");
Response.BinaryWrite(content);
Response.End();
}
/// <summary>
/// Function to get byte array from a file
/// </summary>
/// <param name="_FileName">File name to get byte array</param>
/// <returns>Byte Array</returns>
public byte[] FileToByteArray(string _FileName)
{
byte[] _Buffer = null;
try
{
// Open file for reading
System.IO.FileStream _FileStream = new System.IO.FileStream(_FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
// attach filestream to binary reader
System.IO.BinaryReader _BinaryReader = new System.IO.BinaryReader(_FileStream);
// get total byte length of the file
long _TotalBytes = new System.IO.FileInfo(_FileName).Length;
// read entire file into buffer
_Buffer = _BinaryReader.ReadBytes((Int32)_TotalBytes);
// close file reader
_FileStream.Close();
_FileStream.Dispose();
_BinaryReader.Close();
}
catch (Exception _Exception)
{
// Error
Console.WriteLine("Exception caught in process: {0}", _Exception.ToString());
}
return _Buffer;
}
need ur suggestions with examples.
问候 庵埠
答案 0 :(得分:1)
我也通过流媒体在iframe中显示pdf。
要禁用工具栏和/或navpane,我必须在所有其他查询字符串参数之后放置pdf查询参数。
EG。
this.ifm.Attributes["src"] = String.Format("pdfdisplay.aspx?ref={0}#navpane=0", Server.UrlEncode(CurrentServiceHistory.Reference));
这将删除左侧导航窗格,以删除您可以执行以下操作的工具栏:
this.ifm.Attributes["src"] = String.Format("pdfdisplay.aspx?ref={0}#toolbar=0", Server.UrlEncode(CurrentServiceHistory.Reference));
注意:我在后面的代码中设置我的iframe(ifm)src属性。