如何在新视图中以pdf格式显示plist数据?

时间:2014-02-08 16:55:14

标签: objective-c pdf plist

我一直在努力想出这个问题,并且无法在文档中找到任何内容,或者在目前为止找不到任何有用的内容。我有一个项目,允许用户输入数据并将其保存到plist。有没有办法在pdf格式的新视图中显示已存储在plist中的数据?我想要做的是在pdf格式的新视图控制器中显示记录的数据,以便用户可以打印该列表。我知道有一种方法,但我无法弄明白,我终于把毛巾扔进去,我在这里。我将永远感激任何帮助的人。还有女孩。

我可以使用以下代码创建一个新的pdf。我似乎无法理解如何从plist中获取eta来显示。

- (IBAction)didClickMakePDF {
[self setupPDFDocumentNamed:@"NewPDF" Width:850 Height:1100];

[self beginPDFPage];

CGRect textRect = [self addText:@"This is some nice text here, don't you agree?" 
                      withFrame:CGRectMake(kPadding, kPadding, 400, 200) fontSize:48.0f];

CGRect blueLineRect = [self addLineWithFrame:CGRectMake(kPadding, textRect.origin.y + textRect.size.height + kPadding, _pageSize.width - kPadding*2, 4) 
                                   withColor:[UIColor blueColor]];

UIImage *anImage = [UIImage imageNamed:@"tree.jpg"];
CGRect imageRect = [self addImage:anImage 
                          atPoint:CGPointMake((_pageSize.width/2)-(anImage.size.width/2), blueLineRect.origin.y + blueLineRect.size.height + kPadding)];

[self addLineWithFrame:CGRectMake(kPadding, imageRect.origin.y + imageRect.size.height + kPadding, _pageSize.width - kPadding*2, 4) 
             withColor:[UIColor redColor]];

[self finishPDF];

}

2 个答案:

答案 0 :(得分:0)

“使用CGContext函数绘制PDF上下文时,绘图操作以PDF格式记录。表示绘图的PDF命令将写入创建PDF图形上下文时指定的目标。”

这来自上面引用的相同页面:https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGPDFContext/Reference/reference.html

CGPDFContext“只是”一个CGContext。您可以使用“CGContextSetCMYKFillColor”在其中设置颜色,或使用NSString“drawInRect”方法在其中绘制文本。

答案 1 :(得分:0)

因此,您已经获得了PDF上下文并从plist中加载了一些文本。您需要决定如何将其呈现到PDF中。核心文本可以做得非常好。让您入门的快捷方式是:

首先翻转上下文

CGContextScaleCTM(pdfContext, 1.0, -1.0);
CGContextTranslateCTM(pdfContext, 0.0, -bounds.size.height);

绘制文字

[text drawAtPoint:CGPointMake(x, y) withFont:[UIFont boldSystemFontOfSize:48.0f]];

你显然想要改变:

  1. 循环中的文字内容
  2. y位置,因此每行都在页面下方绘制
  3. 字体
  4. 可以用相同的方式将图像绘制到上下文中。

    然后,转到Core Text以更好地处理文本段落。