检索具有原始大小和dpi的pdf页面位图

时间:2018-01-31 16:35:28

标签: bitmap pdftron pdfnet

我想知道为什么我从一个页面获取一个位图,该页面的大小/ dpi与我用来创建页面的位图不同。

示例:BitmapBitmap,宽度为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}}

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页面。