PDFに関する多くの問題に直面しています。異なる寸法のピクセルを持つ写真を含む PDF。デフォルトの寸法ピクセルが1024x768のデフォルトのウィンドウのコンピューター画像を使用しましたが、画像は鮮明です。ただし、解像度が少し低いインターネットから写真を撮ると、画像サイズが変わります。リトリーブ画像のデフォルトの解像度を設定するにはどうすればよいですか?| 私はこの方法を使用しました
image5.SetDpi(96, 96);
しかし、私の写真には変更はありません。すべての写真をデータベースから取得しました。データベース内の画像は同じ解像度ではありません。
protected void btnPDF_Click(object sender, EventArgs e)
{
var doc1 = new Document();
var filename = "MyTestPDF" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".pdf";
var output = new FileStream(Path.Combine("C:\\Users\\apr13mpsip\\Downloads", filename), FileMode.Create);
iTextSharp.text.pdf.PdfWriter.GetInstance(doc1, output);
doc1.Open();
PdfPTable table = new PdfPTable(1);
table.TotalWidth = 585f;
table.LockedWidth = true;
PdfPTable table2 = new PdfPTable(1);
table2.TotalWidth = 585f;
table2.LockedWidth = true;
iTextSharp.text.pdf.PdfPCell imgCell1 = new iTextSharp.text.pdf.PdfPCell();
var logo = iTextSharp.text.Image.GetInstance(Server.MapPath("~/image/logo.jpg"));
doc1.Add(logo);
var titleFont = FontFactory.GetFont("Arial", 15, Font.BOLD);
doc1.Add(new Paragraph("Official Report. Member Report ID : " + DDLCase.SelectedValue, titleFont));
var normalFont = FontFactory.GetFont(FontFactory.HELVETICA, 14, Font.BOLD);
var phrase = new Phrase();
var phrase2 = new Phrase();
SqlConnection con = new SqlConnection("Data Source = localhost; Initial Catalog = project; Integrated Security = SSPI");
SqlCommand cm = new SqlCommand("Select lro.fullname, lro.contact, mr.typeofcrime, mr.location,mr.crdatetime, mr.citizenreport, pr.policeid, pr.prdatetime, pr.policereport, aor.officialreport, mr.image1, mr.image2, mr.image3, mr.image4, mr.image5, pr.image1, pr.image2, pr.image3, pr.image4, pr.image5 from MemberReport mr, PoliceReport pr, LoginRegisterOthers lro, AdminOfficialReport aor where mr.memberreportid = '" + DDLCase.SelectedValue + "' and mr.memberreportid=pr.memberreportid and pr.policereportid=aor.policereportid", con);
con.Open();
SqlDataReader dr;
dr = cm.ExecuteReader();
if (dr.Read())
{
phrase.Add(new Chunk("Full Name :", normalFont));
phrase.Add(dr[0].ToString());
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(new Chunk("Contact :", normalFont));
phrase.Add(dr[1].ToString());
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(new Chunk("Type Of Crime :", normalFont));
phrase.Add(dr[2].ToString());
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(new Chunk("Location :", normalFont));
phrase.Add(dr[3].ToString());
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(new Chunk("Citizen Report Date Time :", normalFont));
phrase.Add(dr[4].ToString());
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(new Chunk("Citizen Report :", normalFont));
phrase.Add(dr[5].ToString());
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(new Chunk("Citizen Images :", normalFont));
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(new Chunk("1.", normalFont));
Byte[] bytes1 = (Byte[])dr[10];
iTextSharp.text.Image image1 = iTextSharp.text.Image.GetInstance(bytes1);
image1.ScaleToFit(850f, 850f);
image1.SetDpi(96,96);
Chunk imageChunk1 = new Chunk(image1, 0, 0);
phrase.Add(imageChunk1);
phrase.Add(new Chunk("2.", normalFont));
Byte[] bytes5 = (Byte[])dr[11];
iTextSharp.text.Image image5 = iTextSharp.text.Image.GetInstance(bytes5);
image5.ScaleToFit(850f, 850f);
image5.SetDpi(96, 96);
Chunk imageChunk5 = new Chunk(image5, 0, 0);
phrase.Add(imageChunk5);
phrase.Add(new Chunk("3.", normalFont));
Byte[] bytes6 = (Byte[])dr[12];
iTextSharp.text.Image image6 = iTextSharp.text.Image.GetInstance(bytes6);
image6.ScaleToFit(850f, 850f);
image6.SetDpi(96, 96);
Chunk imageChunk6 = new Chunk(image6, 0, 0);
phrase.Add(imageChunk6);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(Chunk.NEWLINE);
phrase.Add(new Chunk("4.", normalFont));
Byte[] bytes7 = (Byte[])dr[13];
iTextSharp.text.Image image7 = iTextSharp.text.Image.GetInstance(bytes7);
image7.SetDpi(96,96);
image7.ScaleToFit(2067f, 2064f);
Chunk imageChunk7 = new Chunk(image7, 0, 0);
phrase.Add(imageChunk7);
phrase.Add(new Chunk("5.", normalFont));
Byte[] bytes8 = (Byte[])dr[14];
iTextSharp.text.Image image8 = iTextSharp.text.Image.GetInstance(bytes8);
image8.ScaleToFit(2067f, 2064f);
image8.SetDpi(96, 96);
Chunk imageChunk8 = new Chunk(image8, 0, 0);
phrase.Add(imageChunk8);
//phrase2.Add(new Chunk("Police ID :", normalFont));
//phrase2.Add(dr[6].ToString());
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(new Chunk("Police Report Date Time :", normalFont));
//phrase2.Add(dr[7].ToString());
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(new Chunk("Police Report :", normalFont));
//phrase2.Add(dr[8].ToString());
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(new Chunk("Official Report :", normalFont));
//phrase2.Add(dr[9].ToString());
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(new Chunk("Police Images :", normalFont));
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(new Chunk("1 :\u00a0", normalFont));
//Byte[] bytes10 = (Byte[])dr[15];
//iTextSharp.text.Image image10 = iTextSharp.text.Image.GetInstance(bytes10);
//image10.ScaleToFit(850f, 850f);
//image5.SetDpi(1024, 768);
//Chunk imageChunk10 = new Chunk(image10, 0, 0);
//phrase2.Add(imageChunk10);
//phrase2.Add(new Chunk("2 :\u00a0", normalFont));
//Byte[] bytes11 = (Byte[])dr[16];
//iTextSharp.text.Image image11 = iTextSharp.text.Image.GetInstance(bytes11);
//image11.ScaleToFit(850f, 850f);
//image5.SetDpi(1024, 768);
//Chunk imageChunk11 = new Chunk(image11, 0, 0);
//phrase2.Add(imageChunk11);
//phrase2.Add(new Chunk("3 :\u00a0", normalFont));
//Byte[] bytes12 = (Byte[])dr[17];
//iTextSharp.text.Image image12 = iTextSharp.text.Image.GetInstance(bytes12);
//image12.ScaleToFit(850f, 850f);
//image5.SetDpi(1024, 768);
//Chunk imageChunk12 = new Chunk(image12, 0, 0);
//phrase2.Add(imageChunk12);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(Chunk.NEWLINE);
//phrase2.Add(new Chunk("4 :\u00a0", normalFont));
//Byte[] bytes13 = (Byte[])dr[18];
//iTextSharp.text.Image image13 = iTextSharp.text.Image.GetInstance(bytes13);
//image13.ScaleToFit(850f, 850f);
//image5.SetDpi(1024, 768);
//Chunk imageChunk13 = new Chunk(image13, 0, 0);
//phrase2.Add(imageChunk13);
//phrase2.Add(new Chunk("5 :\u00a0", normalFont));
//Byte[] bytes14 = (Byte[])dr[19];
//iTextSharp.text.Image image14 = iTextSharp.text.Image.GetInstance(bytes14);
//image14.ScaleToFit(850f, 850f);
//image5.SetDpi(1024, 768);
//Chunk imageChunk14 = new Chunk(image14, 0, 0);
//phrase2.Add(imageChunk14);
table.AddCell(phrase);
//table2.AddCell(phrase2);
}
dr.Close();
doc1.Add(table);
doc1.NewPage();
doc1.Add(table2);
doc1.Close();
}
上記のコードは、SQL データベースからイメージを取得する方法です。