我有一个PDF结构如下:
________________________________________________________
| | |
| 1. This is a simple question | A B C D E F G |
|________________________________|______________________|
| | |
| 2. Another simple question | A B C D E F G |
|________________________________|______________________|
... all the way to the end of the page.
用户在应用程序中填写此问题的空气,当它们完成时,需要使用所选的" A,B,C,D,E,F,G"打印PDF问题空气。用圆圈画出来。
我可以加载PDF并为其添加注释,但问题是我不知道如何找到" A,B,C,D,E,F,G"的坐标。在它周围绘制圆圈。无论如何以编程方式解决这个问题?我最后的办法是在UIImageView中打开它并在那里绘制所有圆圈,但这会显着降低分辨率,这不是很好。
答案 0 :(得分:0)
我认为你可能会以错误的方式解决这个问题。由于用户在应用程序中填写问卷,您可以“绘制”#34;每个选定字母周围的圆圈视图。导出PDF时,请使用PDF上下文绘制视图。
以下是一些让您入门的部分代码:
- (NSData) renderViewToPDF:(UIView*)view
{
NSMutableData *pdfData = [NSMutableData data];
NSDictionary *pdfOptions = @{...};
UIGraphicsBeginPDFContextToData(pdfData, _pageRect, pdfOptions);
[questionaireView drawRect:questionaireView.bounds];
UIGraphicsEndPDFContext();
return pdfData;
}
调用此方法后,您需要做的就是将数据写入文件。至于圆的绘制,如果你使用bezier路径,它们是基于矢量的,因此与分辨率无关。
答案 1 :(得分:0)
好吧,我无法找到一种简单的方法来为PDF中的每个问题找到“A B C ..”的坐标,所以我,
UIGraphicsBeginPDFContextToData
绝对不是最优雅的解决方案,但程序员不能总是聪明我害怕。只花了一个小时才完成(30个问题)。