0
내 경계 상자 안에 더 긴 높이의 웹 페이지를 넣을 수없는 것 같습니다. BrowserWidth가 더 작 으면 해당 웹 페이지가 오버 플로우되지만 크기가 더 커지면 경계 상자가 잘 맞습니다.AbcPDF로 경계 상자에 웹 사이트 맞추기
public abstract class HtmlToPdfModel : IPdfModel
{
public string Url { get; set; }
public int PageWidth { get; set; } // 850 (in pixels)
public int PageHeight { get; set; } // 844 (in pixels)
public string FileName { get; set; }
public virtual byte[] GetStream()
{
using (var doc = new Doc())
{
var w = doc.MediaBox.Width;
var h = doc.MediaBox.Height;
var l = doc.MediaBox.Left;
var b = doc.MediaBox.Bottom;
doc.Transform.Rotate(90, l, b);
doc.Transform.Translate(w, 0);
doc.HtmlOptions.PageCacheEnabled = false;
doc.Rect.Width = h; // 792
doc.Rect.Height = w; // 612
if (!string.IsNullOrWhiteSpace(string.Format("{0}&r={1}", Url, new Random().Next(1, 100000))))
{
var ratio = GetViewPortRatio((int)doc.Rect.Width, (int)doc.Rect.Height, PageWidth, PageHeight);
doc.HtmlOptions.BrowserWidth = (int)(doc.Rect.Width * ratio);
doc.AddImageUrl(Url);
}
doc.SetInfo(doc.GetInfoInt(doc.Root, "Pages"), "/Rotate", "90");
using (var ms = new MemoryStream())
{
doc.Save(ms);
if (ms.CanSeek)
{
ms.Seek(0, SeekOrigin.Begin);
}
return ms.GetBuffer();
}
}
}
우리 프로젝트에서도 동일한 문제가 있습니다. abcpdf 전체 테이블 형식의 데이터를 표시하지 않습니다. 우리 테이블에 20 개 이상의 열이있어 화면에 맞지 않아 스크롤바가 표시됩니다 – SivaRajini
어떻게 abcpdf.if에 모든 표식 데이터를 표시 할 수 있습니까? 오랜 시간 동안 고생하고 .. – SivaRajini