我想做base64编码和解码,但我找不到iPhone的任何支持SDK.如何在base64有或没有库的情况下进行编码和解码?
我在我的Swift应用程序中从一些HTML 生成PDF .我使用a UIMarkupTextPrintFormatter并且具有与此要点类似的代码.我得到PDF NSData并将其附加到电子邮件中.在附加之前,应用程序不会向用户显示PDF.
我现在想要包含一些图像.NSURL使用我当前的PDF生成策略添加HTML不起作用.如何NSData添加与我的HTML相对应的PDF并添加图像?以下是我尝试过的一些事情:
这个答案建议在HTML中嵌入base64图像并使用UIPrintInteractionController.这确实为我提供了正确嵌入图像的打印预览,但是如何从那里到NSData相应的PDF输出?
我已经看到了一些类似的建议,UIWebView但是那些导致了同样的问题 - 我不想向用户展示预览.
我在swift 3.0中用html内容创建一个pdf文件:
/**
*
*/
func exportHtmlContentToPDF(HTMLContent: String, filePath: String) {
// let webView = UIWebView(frame: CGRect(x: 0, y: 0, width: 694, height: 603));
// webView.loadHTMLString(HTMLContent, baseURL: nil);
let pdfPrinter = PDFPrinter();
let printFormatter = UIMarkupTextPrintFormatter(markupText: HTMLContent);
// let printFormatter = webView.viewPrintFormatter();
pdfPrinter.addPrintFormatter(printFormatter, startingAtPageAt: 0);
let pdfData = self.drawPDFUsingPrintPageRenderer(printPageRenderer: pdfPrinter);
pdfData?.write(toFile: filePath, atomically: true);
}
/**
*
*/
func drawPDFUsingPrintPageRenderer(printPageRenderer: UIPrintPageRenderer) -> NSData! {
let data = NSMutableData();
UIGraphicsBeginPDFContextToData(data, CGRect.zero, nil);
printPageRenderer.prepare(forDrawingPages: NSMakeRange(0, printPageRenderer.numberOfPages));
let bounds = UIGraphicsGetPDFContextBounds();
for i …Run Code Online (Sandbox Code Playgroud)