私は、必要なときに印刷する情報を表示するパネルを持つユーザーコントロールを持っています。 私は検索結果を得るグリッドビューを持っています上記のパネルのpdfを開きたいリンクボタンをクリックしています。ページをロードせずにリンクボタンをクリックするとpdfファイルを動的に生成する方法
0
A
答えて
2
私はこれを実装しました。私は他の誰かがそれをやりなおすことを願っています。私は下に私のコードを記載している。
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.html.simpleparser;
インポート役立つだろう、関連するコードを表示上記のDLL
string attachment = "attachment; filename=" + "File Name" + ".pdf";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/pdf";
StringWriter stw = new StringWriter();
HtmlTextWriter htextw = new HtmlTextWriter(stw);
htextw.AddStyleAttribute("font-size", "7pt");
htextw.AddStyleAttribute("color", "Black");
Page pg = new Page();
HtmlForm frm = new HtmlForm();
pg.EnableEventValidation = false;
pg.RenderControl(htextw);
Document document = new Document();
document = new Document(PageSize.A4, 5, 5, 15, 5);
FontFactory.GetFont("Arial", 50, iTextSharp.text.BaseColor.BLUE);
PdfWriter.GetInstance(document, Response.OutputStream);
document.Open();
//This is how you can add text in div in a pdf
Chunk c = new Chunk(TextHere + "\n", FontFactory.GetFont("Verdana", 15));
Paragraph p = new Paragraph();
p.Alignment = Element.ALIGN_LEFT;
p.Add(c); p.Add(c1);
// This is how you can generate table and can set proprties
PdfPTable table = new PdfPTable(2);
table.WidthPercentage = 100;
//Bill No and Bill Date
PdfPCell pdfcell1 = new PdfPCell(new Phrase("Text in TAble" + "TExt From Database"));
pdfcell1.Border = iTextSharp.text.Rectangle.BOTTOM_BORDER | iTextSharp.text.Rectangle.TOP_BORDER;
table.AddCell(pdfcell1);
PdfPCell pdfcell = new PdfPCell(new Phrase("Text in TAble" + "TExt From Database"));
pdfcell.Border = iTextSharp.text.Rectangle.BOTTOM_BORDER | iTextSharp.text.Rectangle.TOP_BORDER;
pdfcell.HorizontalAlignment = Element.ALIGN_RIGHT;
table.AddCell(pdfcell);
document.Add(p);
document.Add(table);
document.Add(tablegrid);
StringReader str = new StringReader(stw.ToString());
HTMLWorker htmlworker = new HTMLWorker(document);
htmlworker.Parse(str);
document.Close();
Response.Write(document);
0
私はあなたがこの問題に遭遇するかもしれないと思います。 JavaScriptは(意図的に)ファイルを操作することができないので、これをすべてクライアントサイドで行うことはできません。 は、だからあなたのオプションは次のとおりです。
- のフルポストバック
- Ajax呼び出し
カスタムハンドラ(.ashx
)PDFファイルで応答を返すwhickファイルへのAjax呼び出しを試みることができます。私は前にこれを試していないが、うまくいくかもしれない。どのようにtarget="_blank"
で別のページを開くと元のページは元のままのまま、サーバー側のコードを実行し、PDFを生成しますか?
関連する問題
- 1. ページを再ロードせずにjavascriptでショートカットボタンをクリックする方法
- 2. リンクボタンを動的に自動生成されたGridviewに追加する方法
- 3. リンクボタン動的にクリック
- 4. aspxページのPDFファイルを表示せずに生成
- 5. リダイレクトせずにページをロードした後にファイルをロードする
- 6. PDF生成を動的に
- 7. webpackJsonpを使用せずにjsファイルを生成する方法
- 8. ページに戻るとリンクボタンをクリックしてポップアップを起動できません
- 9. NodeJSで外部構成ファイルを動的にロードする方法
- 10. 動的にページ番号を生成し、グリッド内の対応するページのみをロードする方法は?
- 11. HTMLページのリストを動的に生成する方法
- 12. ページを再ロードせずにモーダルを表示する方法
- 13. ページを再ロードせずにフォームを送信する方法
- 14. thymeleafでpdfを生成するときに静的リソースをロードする
- 15. 動的に複数のページを動的に生成する方法キーワードとメタキーワードを変更する
- 16. ファイルを作成せずにpdfをテキストに変換する
- 17. 生成したpdfファイルをサーバーに保存せずに置く
- 18. PHPを使用せずにpdfを生成してmongoDBに保存するフォームを作成する方法
- 19. HTMLファイルでJSONフォームオブジェクトを動的に生成する方法は?
- 20. t3dファイルを自動的に生成する方法は?
- 21. ランダム生成インデックスを再ロードせずにシーンをリロードする方法は?
- 22. htmlページのインスタンスを作成し、メインページのリストに動的にロードする方法
- 23. Firefoxを再起動せずにuser_prefを再ロードする方法
- 24. datatableをgridviewに動的に使用するリンクボタンを追加する方法は?
- 25. ボタンをクリックせずにファイルを自動的にダウンロードする方法はありますか?
- 26. OnCompletionListener()を使用せずにオーディオファイルを動的に再生する方法
- 27. FacebookとGithubがページを再ロードせずにURLを変更する方法
- 28. データベースにデータを取り込むときにpdfファイルを生成する方法
- 29. PDFを自動的に生成してサーバーに自動的にアップロードする
- 30. サーバーディスクにレポート(PDF)を自動的に保存/生成する
。あなたは最後の声明を見逃しましたか? –