顶部/底部,左/右边缘带有白线的PDF渲染

时间:2013-04-01 21:34:55

标签: ios pdf core-graphics pdfrenderer vfr-reader

我在几个iOS应用程序中使用(优秀)vfr-reader。它就像一个魅力,但我在渲染一些PDF文件方面遇到了问题。

在VFR-Reader中,我在顶部和底部以及/或左右边缘看到白线,这对于整页照片非常烦人。

它们出现在ThumbsViewController的渲染页面和页面缩略图中:

enter image description here Page Thumbnails with White Lines on Left and Right Edge

放大时白线变大(稍微):

(底边,虽然很难看到白页背景)

zoomed in

我可以通过修改

来改变颜色
CGContextSetRGBFillColor(context, 1.0f, 1.0f, 1.0f, 1.0f); // White
在ReaderContentPage.m / drawLayer中

我天真地尝试将RGBFillColor设置为黑色,但是PDF中的所有文本页面(通常在白色背景上)也会显示为黑色。

我认为问题在于某些宽高比/ PDF页面尺寸,由于某种原因,它不能完美地填充绘图区域,因此白色背景颜色"出血"进行。

PDF本身看起来很好,它们在Safari和GoodReader中完美呈现(没有白线)。

我很感激任何暗示如何解决这个问题,或者我应该调查的一般方向。

1 个答案:

答案 0 :(得分:4)

VFR的作者通过电子邮件回复了我:

  

“我怀疑它是由PDF页面大小不完全匹配引起的   显示页面的CATiledLayer支持的UView的大小。什么时候   PDF页面由iOS呈现,它确实适合方面,因此留下   白色边框。在ReaderContentPage.m中,在-drawLayer:inContext中:   方法,尝试在此函数调用中将true更改为false:   CGPDFPageGetDrawingTransform(_PDFPageRef,kCGPDFCropBox,self.bounds,   0,真)“

确实解决了这个问题!

(为了修复缩略图,我修改了ReaderThumbRender.m中的同一行)