私はasp.net/c#を使用してダウンロードされるPDFファイルを作成しています。これはすべて、divで作成されたHTMLGenericControlにロードされる一連のHTMLTablesを作成することで、コードの中で実行されます。このdivは文字列に変換され、PDFファイルを生成する関数に渡されます。以下のコードサンプルです:あなたは、私は、ビットマップ変数を作成していていることがわかりますforeachループの下部にC#コードビハインド生成テーブルにイメージをロードするにはどうすればよいですか?
//This dataset contains the student's name, age and grade, want it for all sections
List<studentExportPersonal> lsep = sp.getExportPersonal(exportStudents);
//Page Header containg Grade, Student Name, and Age
HtmlGenericControl div = new HtmlGenericControl("div");
foreach (studentExportPersonal sep in lsep)
{
foreach (string sec in secs)
{
HtmlTable identityTable = new HtmlTable();
div.Controls.Add(identityTable);
identityTable.Width = "100%";
identityTable.Border = 0;
identityTable.Style.Add("margin-bottom", "20px");
HtmlTableRow identityTR = new HtmlTableRow();
identityTable.Rows.Add(identityTR);
HtmlTableCell tdGrade = new HtmlTableCell();
identityTR.Cells.Add(tdGrade);
tdGrade.Style.Add("font-size", "30px");
tdGrade.Align = "center";
tdGrade.RowSpan = 2;
tdGrade.InnerText = sep.si.studentGrade;
HtmlTableCell tdStudentName = new HtmlTableCell();
identityTR.Cells.Add(tdStudentName);
tdStudentName.Style.Add("font-size", "30px");
tdStudentName.Align = "center";
tdStudentName.InnerText = sep.si.studentName;
HtmlTableCell tdStudentAge = new HtmlTableCell();
identityTR.Cells.Add(tdStudentAge);
tdStudentAge.Style.Add("font-size", "30px");
tdStudentAge.Align = "center";
tdStudentAge.RowSpan = 2;
tdStudentAge.InnerText = sep.si.studentAge + " Years Old";
HtmlTableRow identityTR1 = new HtmlTableRow();
identityTable.Rows.Add(identityTR1);
HtmlTableCell tdPic = new HtmlTableCell();
identityTR1.Cells.Add(tdPic);
Bitmap studPic;
if (HttpContext.Current.Request.IsLocal)
studPic = (Bitmap)System.Drawing.Image.FromFile(@"C:\studentPics\" + sep.si.studentPicID, true);
else
studPic = (Bitmap)System.Drawing.Image.FromFile(@"E:\Website\Cascade\studentPics\" + sep.si.studentPicID, true);
}
}
export dmc = new export();
var sb = new StringBuilder();
div.RenderControl(new HtmlTextWriter(new StringWriter(sb)));
string s = sb.ToString();
dmc.exportPDF("Student Profiles", "Portrait", s);
、私の質問は、私はHTMLTableCell変数にロードしないか、でしょうか?
なぜCSSを使用しないのですか?また、ローカルファイルへのハードコードされた文字列パスを参照していることに気付きました。アプリケーションがデプロイされても画像は表示されません。 – Chad
ありがとうございました...私はそれが私が把握しようとしているもののタイプだと思います...しかし、それもCSSを使用していない理由です...すべてがコードの背後で起こっているので、テーブルは処理されます.aspxを打つ前に、cssは決して遊びに来る機会を持っていません... –
それは、各セル、または一般的に使用されるユニークなイメージですか?それが各セルのユニークなイメージなら、あなたのロジックを詳しく見ることができます。共通の場合は、CSSはそれに最適です – Chad