菜鸟教程小白 发表于 2022-12-12 22:14:17

ios - 如何使用 AirPrint 在半页或 A5 上打印?


                                            <p><p>我有一个应用程序需要从 iPad 打印收据和通行证。我已经实现了运行良好的 AirPrint SDK,也就是说,我可以使用兼容 AirPrint 的打印机从 iPad 打印文档。</p>

<p>问题是我需要将这些收据和通行证放在半页(即 A4 页的一半)或 A5 页上。无论我对打印作业进行什么更改,它总是以完整的 A4 页面和横向打印。</p>

<p>这是我要打印的代码:</p>

<pre><code>UIPrintInteractionController *printer = ;
UIPrintInfo *printObject = ;
;
;
;

UIPrintFormatter *printFormatter = [ init];
;

;
;
;
;
;
</code></pre>

<p>我也尝试实现 <code>choosePaper</code> 委托(delegate)方法,但它也没有帮助。哦,在创建文档时,我指定了大小:</p>

<pre><code>CGSize pageSize = CGSizeMake(595, 420);
NSString* fileName = @&#34;GatePass.PDF&#34;;

NSArray *arrayPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = ;
NSString* pdfFileName = ;

UIGraphicsBeginPDFContextToFile(pdfFileName, CGRectZero, nil);

UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, pageSize.width, pageSize.height), nil);
</code></pre>

<p>理想的工作方式是,如果用户在打印中使用 A5 纸,则正常打印。如果用户使用 A4 纸,只打印一半页面等等。</p>

<p>知道如何实现吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>使用 selectedPaper 委托(delegate)方法。如果 A5 列在给你的列表中,那么选择那张纸。如果打印机有 A5 并且知道它有 A5,那么您应该得到 A5 输出。您还需要以从 selectedPaper 返回的大小创建 PDF。</p>

<p>您可以使用打印机模拟器对此进行测试。使用加载纸张尺寸按钮设置其中一台带有“模拟纸张传感器”并在其中一个纸盘中加载 A5 的打印机。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何使用 AirPrint 在半页或 A5 上打印?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23523337/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23523337/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何使用 AirPrint 在半页或 A5 上打印?