我有一个 pdf 生成项目,它包含一些文本和一个已经存储在 db 中的图像,我想预览并邮寄生成的 pdf,当只有文本数据时一切正常。
如果我们的数据中有图像,就会出现问题。邮件收到大小为 10MB 或以上的 pdf,即使它有大小为 1MB 或以下的图像。它在模拟器中工作正常。我绘制图像的代码如下所示:
UIImage *plotImage=[[UIImage alloc]initWithContentsOfFile:[localPictureArray objectAtIndex:i]];
CGSize imageSize=plotImage.size;
CGFloat scaleFactor = 1.0;
if (imageSize.height>(maxHeight-currentPageY) || imageSize.width>maxWidth )
{
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, kDefaultPageWidth, kDefaultPageHeight), nil);
currentPageY = kMargin;
if (!((scaleFactor = (maxWidth / imageSize.width)) > ((maxHeight-currentPageY) / imageSize.height)))
{
scaleFactor = (maxHeight-currentPageY) /imageSize.height;
// scale to fit heigth.
}
CGRect rect = CGRectMake(kMargin,currentPageY,
imageSize.width * scaleFactor, imageSize.height * scaleFactor);
//Draw the image into the rect
[plotImage drawInRect:rect];
}
else
{
plotImage drawInRect:normal size)];//Normal size we need
NSLog(@"%@",NSStringFromCGSize(plotImage.size));
}
由于我是初学者,我正在努力解决它。