• Csharp:user WebControl Read Adobe PDF Files In Your Web Browser


    namespace GeovinDu.PdfViewer
    {
        [DefaultProperty("FilePath")]
        [ToolboxData("<{0}:ShowPdf runat=server></{0}:ShowPdf>")]   
        public class ShowPdf : WebControl
        {
            
    #region "Declarations" 
            //Geovin Du 塗聚文 20131010
            private string mFilePath;
    
    #endregion
    
    
    
            #region "Properties" 
    
            [Category("Source File")]
            [Browsable(true)]
            [Description("Set path to source file.")]
            [Editor(typeof(System.Web.UI.Design.UrlEditor), typeof(System.Drawing.Design.UITypeEditor))]
            public string FilePath
            {
                get
                {
                    return mFilePath;
                }
                set
                {
                    if (value == string.Empty)
                    {
                        mFilePath = string.Empty;
                    }
                    else
                    {
                        int tilde = -1;
                        tilde = value.IndexOf('~');
                        if (tilde != -1)
                        {
                            mFilePath = value.Substring((tilde + 2)).Trim();
                        }
                        else
                        {
                            mFilePath = value;
                        }
                    }
                }
            }   // end FilePath property
    
    
    #endregion
    
    
            
    #region "Rendering"
            /// <summary>
            ///  Geovin Du 塗聚文 20131010
            /// </summary>
            /// <param name="writer"></param>
            protected override void RenderContents(HtmlTextWriter writer)
            {
                try
                {
                    StringBuilder sb = new StringBuilder();
                    sb.Append("<iframe src=" + FilePath.ToString() + " ");
                    sb.Append("width=" + Width.ToString() + " height=" + Height.ToString() + " ");
                    sb.Append("<View PDF: <a href=" + FilePath.ToString() + "</a></p> ");
                    sb.Append("</iframe>");
    
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    writer.Write(sb.ToString());
                    writer.RenderEndTag();
                }
                catch
                {
                    // with no properties set, this will render "Display PDF Control" in a
                    // a box on the page
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    writer.Write("Display PDF Control");
                    writer.RenderEndTag();
                }  // end try-catch
            }   // end RenderContents
    
    
            #endregion
    
        }   // end class
    }       // end namespace  Geovin Du 塗聚文 20131010
    
  • 相关阅读:
    Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
    mac 上面安装mysql-python
    NSConditionLock
    NSCondition
    web.py 学习(二)Worker
    web.py 学习(-)Rocket web框架
    ARC 下面可能导致的内存问题
    WireShark 抓取Telnet包
    node.js里npm install --save 与 npm install --save-dev 的区别
    最近阅读链接
  • 原文地址:https://www.cnblogs.com/geovindu/p/3361704.html
Copyright © 2020-2023  润新知