问题标签 [uiprintpagerenderer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
833 浏览

printing - 一次性打印多个 UIWebView 的内容

我有一个 iPad 应用程序,它使用 WebViews 来显示 URL 列表。我希望能够一次打印所有 WebView,而无需使用 PrintInteractionController 多次提示用户。问题是 PrintInteractionController 似乎没有这样做的能力。您不能分配多个 viewFormatter,并且 WebViews 不会被识别为 printItems。我也找不到只打印项目而不显示 PrintInteractionController 的方法。

有谁知道这样做的方法?

干杯。

0 投票
3 回答
3699 浏览

ios - 在 iOS 中将一个或多个格式化程序与页面渲染器一起使用

有没有人尝试过使用多个格式化程序(UIViewPrintFormatter, UIMarkupTextPrintFormatter, UISimpleTextPrintFormatter)和页面渲染器(UIPrintPageRenderer)来打印内容?

我正在尝试将两个UIMarkupTextPrintFormattersUIPrintPageRenderer子类一起使用,但我没有得到打印。我正在使用PrintWebView示例代码中MyPrintPageRenderer的类。

我已经浏览了 Apple 的文档,但它不是很有帮助,并且没有与描述相关的示例代码。我已经尝试了几个解决方案,但到目前为止我还没有取得任何成功。

有什么建议么?

0 投票
3 回答
1643 浏览

ios - Drawing horizontal line in printed pdf using UIPrintPageRenderer

I'm using UIPrintPageRenderer sub-class to print html content on a pdf. How can i add a horizontal line on my printed content (both on header and footer)?

CGContextAddLineToPoint doesn't seem to work in UIPrintPageRenderer methods. Specifically those used to draw header and footer. NSString's drawAtPoint is working perfectly.

Here's what i've tried so far:

0 投票
1 回答
1824 浏览

iphone - IOS以最小边距打印pdf

这一定很简单,但我似乎无法弄清楚。

我已经设法实现了从我的应用程序打印 PDF 的代码。问题是,PDF 周围有相当多的空白和默认边距......这不是我希望页面从打印机中出来的方式。

所以,我试图将利润减少到最低限度。我该怎么办?我是否需要使用自定义 UIPrintFormatter、UIPrintPageRenderer 或 UIPrintPaper。我需要在 UIPrintInteractionControllerDelegate 的哪个方法中进行更改?

我知道这是可以做到的,因为当我从 Apple 的 iBook App 打印 PDF 时,边距明显减少。

谢谢。

0 投票
1 回答
1658 浏览

iphone - 在 iPhone 本地制作的 AirPrint HTML 文件

我目前正在创建一个 html 文件并将其存储在本地,我让用户选择通过 HTML 发送 html 或打印。

由于某种原因,它无法打印。如果我测试 -

它没有超过这一点。

如果可以的话,是否可以打印本地 HTML 文件。

编辑代码以创建 html -

0 投票
1 回答
1457 浏览

ios - 如何从 UIPrintFormatter 获取准确的 pageCount

我正在使用 aUIMarkupTextPrintFormatter从我的应用程序中打印一些 HTML。如果我让打印格式化程序打印到整个页面,效果会很好。

但是我想将格式化程序限制为在页面的一半上打印 - 为了实现这一点,我在contentInsets知道纸张大小后设置了属性(我在调用该UIPrintInteractinControllerDelegate方法时设置了 contentInsets - (UIPrintPaper *)printInteractionController: (UIPrintInteractionController *)pic choosePaper:(NSArray *)paperList。)

这也有效 - 打印正确地限制在使用 contentInsets 定义的页面区域。

但是打印的页数是错误的。我得到的页数就好像打印作业一直在使用默认的 contentInsets (0,0,0,0)。

我怎样才能让它打印正确的页数?为什么pageCount总是UIMarkupTextPrintFormatter返回0?

这是打印作业设置代码:

并且,委托方法:

0 投票
1 回答
955 浏览

ios - UIPrintPageRenderer paperRect 总是返回 0x0

我已经在我的 iOS 应用程序中设置了打印,它工作正常。但是,我正在根据用户对页面大小的偏好生成我的文档。我希望我可以从打印机系统检测页面大小并改用它。UIPrintPageRenderer 的 paperRect 属性似乎正是我所需要的,但它总是为我返回 0x0 的大小。我错过了什么吗?这是代码:

我在 iOS 4.2 发布时尝试了这个,当我得到 0x0 时,我认为这是一个第一版错误并实现了用户偏好。但是现在我在 iOS 5.1 中看到了同样的问题,我想知道我是不是做错了什么。

当这段代码运行时,用户还没有选择打印机,所以我希望 paperRect 返回一个默认的纸张大小。如果它在用户选择打印机后再次运行(例如,在打印第二个文档时),我希望它返回为该打印机选择的纸张尺寸。但这只是我的期望......文档没有解释何时或如何设置其值。

了解其他人是否获得相同的结果或者我是否需要做其他事情来获得真实的页面大小会很有帮助。

PS 我还查看了 UIPrintInteractionController 的 paperSize 属性,当包含在上面的代码中时,它也返回 0x0。显然,它稍后在打印过程中由委托函数更新,但我没有进一步探索。

0 投票
1 回答
2114 浏览

objective-c - NSInteger 到 const char *

我收到了一个(NSInteger) pageIndex并且需要在一个页面上打印它

void CGContextShowTextAtPoint ( CGContextRef c, CGFloat x, CGFloat y, const char *string, size_t length );

我如何获得const char *string并且不要忘记该字符串的长度

我倾向于以讨厌的技巧结束,先将整数转换为字符串,然后再做cStringUsingEncoding:NSMacOSRomanStringEncoding,但这不是最优雅的方式

为了完整起见,这里是代码

0 投票
2 回答
4547 浏览

ios - 使用 AirPrint 打印 Pdf 会导致内容被截断

在这里,我正在打印大小为“pageSize = CGSizeMake(640, 832);”的 pdf。这个尺寸比 A4 尺寸的页面大。所以我会截掉一些文本(意味着它不会打印整个页面)。

在使用 MAC 打印相同的 pdf 时,它将在选项的帮助下打印整个页面(缩放以适应)。所以任何人都可以帮助我摆脱这个问题.. IOS sdk中是否有任何选项可以适应规模。

这是我的代码..

谢谢!

0 投票
3 回答
4512 浏览

ios - UIPrintInteractionController 未在 iPhone 中打印到整页

我正在使用 Apple 打印文档示例将 pdf 从 iPhone 打印到兼容 Airprint 的打印机。但我没有从 iPhone 获得整页打印,请查看我得到的图片,我需要将 pdf 打印在全纸长度、宽度上。

在此处输入图像描述

下面给出了我用于打印功能的代码,它与 Apple 打印示例应用程序中的代码相同,