1

PDFファイルに機能ボタンを付ける方法は?

これはPDFの背後にあるコードです

 public partial class Pdf_Default : System.Web.UI.Page
{
protected override void Render(HtmlTextWriter writer)
{
    MemoryStream mem = new MemoryStream();
    StreamWriter twr = new StreamWriter(mem);
    HtmlTextWriter myWriter = new HtmlTextWriter(twr);
    base.Render(myWriter);
    myWriter.Flush();
    myWriter.Dispose();
    StreamReader strmRdr = new StreamReader(mem);
    strmRdr.BaseStream.Position = 0;
    string pageContent = strmRdr.ReadToEnd();
    strmRdr.Dispose();
    mem.Dispose();
    writer.Write(pageContent);
    CreatePDFDocument(pageContent);


}
public void CreatePDFDocument(string strHtml)
{

    string strFileName = HttpContext.Current.Server.MapPath("test.pdf");
    // step 1: creation of a document-object
    Document document = new Document();
    // step 2:
    // we create a writer that listens to the document
    PdfWriter.GetInstance(document, new FileStream(strFileName, FileMode.Create));
    StringReader se = new StringReader(strHtml);
    HTMLWorker obj = new HTMLWorker(document);
    document.Open();
    obj.Parse(se);
    document.Close();
    ShowPdf(strFileName);



}
public void ShowPdf(string strFileName)
{
    Response.ClearContent();
    Response.ClearHeaders();
    Response.AddHeader("Content-Disposition", "inline;filename=" + strFileName);
    Response.ContentType = "application/pdf";
    Response.WriteFile(strFileName);
    Response.Flush();
    Response.Clear();
}

}

戻るボタンを配置しようとすると、PDF ファイルに Label Test しか表示されません。別のページ(PDF以外)に移動できるボタンを作りたいです。ありがとう!

4

1 に答える 1

1

などを使用して応答として PDF ファイルを送信するとResponse.ContentType = "application/pdf";、多くのことが発生する可能性があります。最も一般的なのは次
とおりです。 (いつもの)。 2- ユーザーはデフォルトの PDF ビューアがあり、ブラウザの外部の外部アプリケーションとして表示されるか、ブラウザ内に統合されています。

いずれの場合も、HTML コンテンツを一切使用せずに PDF ファイルのみを表示します。ユーザーをサイトに戻すボタンを表示する場合は、PDF ファイルを変更して、その中にボタンを追加する必要があります。

もう 1 つの選択肢は、pdf ファイルを応答として送信するのではなく、ページ内に埋め込むことです。このような場合、PDF ファイルをラップしているページにボタンを追加できます。

于 2012-09-14T19:31:45.583 に答える