Sie können Anmerkungen machen, indem Sie eine PDF-Seite einlesen, in einen neuen PDF-Grafikkontext zeichnen und dann zusätzlichen Inhalt in diesen Grafikkontext zeichnen. Hier ist ein Code, der die Wörter "Beispiel Annotation" an Position (100.0.100.0) zu einer vorhandenen PDF hinzufügt. Die Methode getPDFFileName gibt den Pfad der ursprünglichen PD zurück. getTempPDFFileName gibt den Pfad der neuen PDF-Datei zurück, also das Original und die Anmerkung.
Um die Anmerkungen zu variieren, fügen Sie einfach mehr Zeichencode anstelle der Methode drawInRect: withFont: ein. Weitere Informationen dazu finden Sie im Zeichnungs- und Druckhandbuch für iOS.
- (void) exampleAnnotation;
{
NSURL* url = [NSURL fileURLWithPath:[self getPDFFileName]];
CGPDFDocumentRef document = CGPDFDocumentCreateWithURL ((CFURLRef) url);// 2
size_t count = CGPDFDocumentGetNumberOfPages (document);// 3
if (count == 0)
{
NSLog(@"PDF needs at least one page");
return;
}
CGRect paperSize = CGRectMake(0.0,0.0,595.28,841.89);
UIGraphicsBeginPDFContextToFile([self getTempPDFFileName], paperSize, nil);
UIGraphicsBeginPDFPageWithInfo(paperSize, nil);
CGContextRef currentContext = UIGraphicsGetCurrentContext();
// flip context so page is right way up
CGContextTranslateCTM(currentContext, 0, paperSize.size.height);
CGContextScaleCTM(currentContext, 1.0, -1.0);
CGPDFPageRef page = CGPDFDocumentGetPage (document, 1); // grab page 1 of the PDF
CGContextDrawPDFPage (currentContext, page); // draw page 1 into graphics context
// flip context so annotations are right way up
CGContextScaleCTM(currentContext, 1.0, -1.0);
CGContextTranslateCTM(currentContext, 0, -paperSize.size.height);
[@"Example annotation" drawInRect:CGRectMake(100.0, 100.0, 200.0, 40.0) withFont:[UIFont systemFontOfSize:18.0]];
UIGraphicsEndPDFContext();
CGPDFDocumentRelease (document);
}
Hallo Jack, haben Sie Anmerkungen machen? –