我使用ASP.NET(Framework 3.5)和Crystal Reports生成My College的学生的身份证,但我想在透明表格中打印卡并将其粘贴到一张相同尺寸的塑料卡片,以便我需要打印所有要打印的镜像。 我试着用镜像的形式设计水晶报告,但是找不到写镜像文本的方法。任何人都可以建议一种方法来完成这项工作,我想要的只是翻转PDF文件或Crystal Report中的内容。镜像(翻转)打印PDF文件
0
A
回答
0
一对夫妇思想:
1)渲染PDF到图像(使用的Ghostscript/ImageMagick的或商业的PDF库((例如TIF)和镜像图像打印
2)镜像的PDF本身,也许有可能与iTextSharp的
3)使用报告工具,并尝试使用某种反向字体(coud快选项)
0
任何API,让您导入页面,并直接写入PDF内容流会让你做这个。
在iText的(JAVA),它会是这个样子:
PdfReader reader = new PdfReader(pdfPath);
Document doc = new Document();
PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(outPath));
for (int pageNum = 1; pageNum <= reader.getNumberOfPages(); ++pageNum) {
PdfImportedPage page = writer.getImportedPage(reader, pageNum);
PdfContentByte pageContent = writer.getDirectContent();
// flip around vertical axis
pageContent.addTemplate(page, 1f, 0f, 0f, -1f, page.getWidth(), 0f);
doc.newPage();
}
上面的代码进行以下屁股-U-ME-ptions:
- 默认
Document()
页大小与当前PdfImportedPage
的大小相匹配。 - 源页面不旋转。
- 没有注释,可选内容组(层)以及其他不是只是在页面内容中表示的位。
一些解决方法:
// keep the page size consistent
PdfImportedPage page = writer.getImportedPage(reader, pageNum);
doc.newPage(page.getBoundingBox());
PdfContentByte pageContent = writer.getDirectContent();
pageContent.addTemplate(...);
// to compensate for a page's rotation, you need to either rotate the target page
// Easy in PdfStamper, virtually impossible with `Document`/`PdfWriter`.
AffineTransform unRotate = AffineTranform.getRotateInstance(degToRad(360 - pageRotation), pageCenterX, pageCenterY)
AffineTransform flip = new AffineTransform(1f, 0f, 0f, -1f, page.getWidth(), 0f);
AffineTransform finalTrans = flip;
finalTrans.concatenate(unRotate);
pageContent.addTemplate(page, finalTrans);
公平的警告:我的二维矩阵福是不是所有的强。我几乎肯定会做错事。调试这些东西是一个真正的PITA。东西要么“看起来是正确的”,要么是完全搞砸了它的页面(ergo隐形,所以你不知道它走的是哪条路)。我经常通过[-1000 -1000 1000 1000]更改页面矩形,以便我可以看到它的全部内容。好玩的东西。
至于复制注释等......哎。 PdfCopy通过它的addPage()
方法为你做了所有这些工作,但是这不会让你首先转换页面内容。您对PdfImportedPage所做的任何更改都将被忽略。你真的被困在艰难的路上......手动复制所有的烦人的比特,并改变它们以补偿你翻转的页面......或者将源码搞乱到addPage()
以获得你想要的结果。两者都需要对PDF有深入的了解。
考虑到具体情况,您可能不需要担心它,但值得一提的是,如果有不同情况的人出现相同的目标。
相关问题
- 1. UIImage翻转和镜像
- 2. 打印PDF文件
- 3. 邮件,pdf图像图像在joomla给予镜像印象
- 4. Ascii打印文件为PDF
- 5. CUPS打印PDF文件
- 6. 从Qt打印PDF文件
- 7. 打印PDF文件与PDFSharp
- 8. PDF页翻转/翻转软件
- 9. 填充parttern(位)被翻转和镜像
- 10. 转换为PDF打印
- 11. 使用pdf打印机打印文档
- 12. 是否可以在R中绘制镜像翻转的文本?
- 13. 正确翻转/镜像像素的图像?
- 14. 打印PDF双面打印
- 15. 用于打印PDF文件的SDK
- 16. 使用PHP打印PDF文件
- 17. 打印大量的文件到pdf
- 18. 如何使用Prolog打印PDF文件
- 19. 从Mono打印PS/PDF文件
- 20. Java在Mac中打印PDF文件
- 21. 在iPhone或iPad上打印PDF文件
- 22. MonoTouch打印本地PDF文件
- 23. 用Java打印Microsoft Office和PDF文件
- 24. 打印动态生成的PDF文件
- 25. AirPrint:直接将PDF文件打印到打印机
- 26. 如何打印PDF文件在Java中与打印对话框
- 27. 如何从无线打印机打印PDF文件?
- 28. 打印为pdf格式打印机造成损坏的文件
- 29. 无声打印“可打印”对象到PDF文件
- 30. 我想将PDF文件打印成网络打印