我想知道为什么我从一个页面获取一个位图,该页面的大小/ dpi与我用来创建页面的位图不同。
示例:Bitmap
是Bitmap
,宽度为1275,高度为1651,dpi为150.我使用此位图来创建页面。当我使用PDFDraw在我的代码末尾检索位图时,b
//create a page
var imgRect = new Rect(0, 0, bmp.Width, bmp.Height);
pdftron.PDF.Page _currentPage = convertedPdf.PageCreate(imgRect);
imgRect.Dispose();
//start writing to a page
elementWriter.Begin(_currentPage, ElementWriter.WriteMode.e_underlay, false);
//write the image
var element = elementBuilder.CreateImage(_currentImg, new pdftron.Common.Matrix2D(bmp.Width, 0, 0, bmp.Height, 0, 0));
elementWriter.WritePlacedElement(element);
//cleanup
_currentImg.Dispose();
//add the page to the pdf
convertedPdf.PagePushBack(_currentPage);
//just a test for retrieving the page later on
PDFDraw drawer = new PDFDraw();
Bitmap b = drawer.GetBitmap(_currentPage);
的宽度为2657,高度为3440,分辨率为150 dpi。为什么这会改变,我怎样才能恢复原来的位图?
{{1}}
答案 0 :(得分:0)
您可以致电Convert.ToPDF(pdfdoc, path_to_image)
并直接传递图片路径,PDFNet将为您完成所有计算,并在最新版本中自动轮换。
特别是您的页面大小计算已关闭。它“应该”
var imgRect = new Rect(0, 0, bmp.Width / 150.0 * 72.0, bmp.Height / 150.0 * 72.0);
因此,您将获得包含图像真实物理尺寸的PDF页面。