/ / Potrzebujesz uiview do komponentu pdf w ios - iphone, ios, pdf-generation

Potrzebujesz uiview do komponentu pdf w ios - iphone, ios, pdf-generation

Chcę przekonwertować UIView do pdf, czy jest tam jakiś gotowy komponent, ponieważ mam mniej czasu, aby to zrobić. jeśli nie, możesz podać przykładowy kod dla pdf

Z góry dziękuję

Odpowiedzi:

5 dla odpowiedzi № 1
(void)createPDFfromUIView:(UIView*)aView saveToDocumentsWithFileName:(NSString*)aFilename
{
// Creates a mutable data object for updating with binary data, like a byte array
NSMutableData *pdfData = [NSMutableData data];

// Points the pdf converter to the mutable data object and to the UIView to be converted
UIGraphicsBeginPDFContextToData(pdfData, aView.bounds, nil);
UIGraphicsBeginPDFPage();
CGContextRef pdfContext = UIGraphicsGetCurrentContext();


// draws rect to the view and thus this is captured by UIGraphicsBeginPDFContextToData

[aView.layer renderInContext:pdfContext];

// remove PDF rendering context
UIGraphicsEndPDFContext();

// Retrieves the document directories from the iOS device
NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);

NSString* documentDirectory = [documentDirectories objectAtIndex:0];
NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:aFilename];

// instructs the mutable data object to write its context to a file on disk
[pdfData writeToFile:documentDirectoryFilename atomically:YES];
NSLog(@"documentDirectoryFileName: %@",documentDirectoryFilename);
}

Upewnij się też, że importujesz: QuartzCore / QuartzCore.h


0 dla odpowiedzi nr 2

Kliknij Kod przykładowy Apple`of Quartz Demo i Ty możesz dowiedzieć się o PDF i różnych diagramach w uiviews.


0 dla odpowiedzi № 3

lub spróbuj tego https://github.com/vfr/Reader PDF Reader / Viewer


0 dla odpowiedzi nr 4

Możesz użyć PDFGenerator Link do GitHub:

Mają też aplikację demo na github.

Próbka kodu fonte: Generowanie pliku PDF z widoków:

func generatePDF() {
let v1 = UIScrollView(frame: CGRect(x: 0.0,y: 0, width: 100.0, height: 100.0))
let v2 = UIView(frame: CGRect(x: 0.0,y: 0, width: 100.0, height: 200.0))
let v3 = UIView(frame: CGRect(x: 0.0,y: 0, width: 100.0, height: 200.0))
v1.backgroundColor = .red
v1.contentSize = CGSize(width: 100.0, height: 200.0)
v2.backgroundColor = .green
v3.backgroundColor = .blue

let dst = URL(fileURLWithPath: NSTemporaryDirectory().appending("sample1.pdf"))
// outputs as Data
do {
let data = try PDFGenerator.generated(by: [v1, v2, v3])
data.write(to: dst, options: .atomic)
} catch (let error) {
print(error)
}

// writes to Disk directly.
do {
try PDFGenerator.generate([v1, v2, v3], to: dst)
} catch (let error) {
print(error)
}
}