iphone - 如何使用 UIMarkupTextPrintFormatter 打印带有本地镜像的本地 html?

标签 iphone objective-c ipad

这是我要打印的字符串:

<p><img src="/Users/Max/Library/Application Support/iPhone Simulator/4.3/Applications/5FCCB847-52D9-48F4-A900-459C6A77A5A6/Documents/18/logo18_lg.jpg" alt="" height="72" /></p>

这是我在我的应用程序中生成的较大 HTML 页面的一小段,我将其传递给打印件,如下所示:

UIMarkupTextPrintFormatter *html = [[UIMarkupTextPrintFormatter alloc] initWithMarkupText:printContents];

打印内容包含我需要打印的所有 html,包括上面的图像片段。除了未打印的图像外,打印效果很好。

最佳答案

我很乐意被反驳,但我不认为你可以让你正在寻找的方法起作用。解决方法是将图像嵌入 HTML 本身。下面说明了原理(改编自 2005 年的 forum post)。您可以创建一个字符串来动态表示您的图像。一个好的起点可能是这个 stackoverflow question .

- (void) buttonTapped;
{
    NSString* printContents = @"This is a work around <IMG SRC=\"data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAwAAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUU lvONmOZtfzgFzByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSpa/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQ ZXZeYGejmJlZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwv KOzrcd3iq9uisF81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PHhhx4dbgYKAAA7\">";

    UIMarkupTextPrintFormatter *html = [[UIMarkupTextPrintFormatter alloc] initWithMarkupText:printContents];
    UIPrintInteractionController* printController = [UIPrintInteractionController sharedPrintController];
    [printController setPrintFormatter:html];
    [printController presentAnimated:YES completionHandler:^(UIPrintInteractionController *printInteractionController, BOOL completed, NSError *error) {
        //
    }];

}

关于iphone - 如何使用 UIMarkupTextPrintFormatter 打印带有本地镜像的本地 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7069140/

相关文章:

iphone - 延迟后不使用 NSThread 或 sleep() 执行方法 - 还有其他选择吗?

iphone - 排除 iPhone 4S 设备下载应用程序

iphone - 如何在iPhone中的imageview中显示图像

iphone - GCD、线程、程序流程和 UI 更新

ios - 编译项目时出现 Xcode 错误

ios - iPhone SDK : Play a single WAV from a button

objective-c - 在几乎没有信息的情况下调试 iPad 设备崩溃

ios - 循环中所有值的延迟

objective-c - 使用 objective zip 解压 NSData

flutter - 在 Flutter 中锁定每个屏幕的屏幕方向在 iPad 上不起作用