DynamicPDF이라는 제품을 사용하여 데이터베이스의 동적 데이터에서 즉석에서 PDF를 생성합니다. 그들의 문서에 따르면 소프트웨어는 이미지 바이트를 그대로두고 변경하지 않습니다. 그럼에도 불구하고 우리가 추가 한 이미지는 결과 PDF 출력에 품질 손실이있는 것으로 나타났습니다 (최소한 그것이 어떻게 보이는지). 그래서 내 질문에 DynamicPDF API를 사용하여 이미지 품질 출력이 내가 입력 한 것과 비슷하거나 비슷하게하려면 어떻게해야합니까?DynamicPDF 이미지 품질 손실
버전 5.1.2 빌드 13650을 사용하고 있습니다. 아래에서 이미지를 추가하는 데 사용하는 코드입니다.
private void plcImageMain_LaidOut(object sender, PlaceHolderLaidOutEventArgs e)
{
if (e.LayoutWriter.RecordSets.Current.HasData)
{
string productId = e.LayoutWriter.RecordSets.Current["ProductId"].ToString();
string imgUrl = base.SetImageUrlParams(e.LayoutWriter.RecordSets.Current["ImageUrl"] as string, e.ContentArea.Width, e.ContentArea.Height);
System.Drawing.Bitmap bm = base.GetBitmap(imgUrl);
ceTe.DynamicPDF.PageElements.Image img = new ceTe.DynamicPDF.PageElements.Image(bm, 0, 0);
img.Height = e.ContentArea.Height;
img.Width = e.ContentArea.Width;
e.ContentArea.Add(img);
}
}
/// <summary>
/// Gets a bitmap from the requested image url
/// </summary>
/// <param name="imgCtrl"></param>
/// <param name="imgUrl"></param>
protected System.Drawing.Bitmap GetBitmap(string imgUrl)
{
// TODO: Add some validation to ensure the url is an image.
System.Net.WebRequest httpRequest = System.Net.HttpWebRequest.Create(imgUrl);
using (System.Net.HttpWebResponse httpResponse = httpRequest.GetResponse() as System.Net.HttpWebResponse)
using (Stream imgStream = httpResponse.GetResponseStream())
{
System.Drawing.Bitmap bm = System.Drawing.Bitmap.FromStream(imgStream) as System.Drawing.Bitmap;
return bm;
}
}
[편집]
Here은 전과 후의 샷이다.
[편집]
된 GetImage를 사용하여 코드 (그 이유는 무엇입니까? 느린)
protected ceTe.DynamicPDF.Imaging.ImageData GetImageData(string imgUrl)
{
ImageData imgData = null;
using (System.Net.WebClient wc = new System.Net.WebClient())
{
imgData = ImageData.GetImage(wc.DownloadData(imgUrl));
}
return imgData;
}
GetImageData ("http://s7d2.scene7.com/is/image/SwissArmy/cm_vm_53900E--111mm_sol_front_a?fmt=jpeg&wid=400&hei=640");
"이전/이후"예제를 보여줄 수 있습니까? –
또한 (선택/복사 이미지를 사용하여) PDF에서 이미지를 추출하고 원본 이미지와 비교할 수 있습니까? 그렇게하면 무언가가 변경되면 100 % 증거가됩니다. –
위의 게시물에서 스크린 샷 전후의 링크를 추가했습니다. 어떻게 PDF에서 이미지를 추출합니까? Acrobat Reader에서이 작업을 수행 할 수있는 방법이 있다고 가정합니까? – James