
int rows = 700
String str = text.getText()
String[] outs = str.split("\n")
PDFdoc = new PDDocument()
PDPage page = new PDPage()
PDFdoc.addPage(page)
PDFont font = PDType1Font.TIMES_ROMAN
PDPageContentStream contentStream = new PDPageContentStream(PDFdoc, page)
for(int i=0i<outs.lengthi++)
{
if(rows-FontSize>100)
rows -= FontSize
else
{
contentStream.close()
page = new PDPage()
PDFdoc.addPage(page)
contentStream = new PDPageContentStream(PDFdoc, page)
rows = 700
}
contentStream.beginText()
contentStream.moveTextPositionByAmount( 100, rows )
contentStream.setFont( font, FontSize )
contentStream.drawString( outs[i] )
contentStream.endText()
}
contentStream.close()
PDFdoc.save(new FileOutputStream(fdoc))
PDFdoc.close()
needSave = false
setTitle(Program.ProgramName+" - "+fdoc.getName())
注:FontSize是字体大小,我暂时设定行距为0,你可以自己再改改,换行大概就是这个思路了
pdf一页的纵坐标应该是从上到下800到0,保留一定的边距的话从700到100就是整个打印文本的范围。应该是这样的,我只是为了赶我们变态的 *** 作系统实验作业,没有再多去尝试(吐槽:这明显跟 *** 作系统没有任何关系,我们老师还拿这个当作业,难为我们也不是这样难为的…… *** 作系统有难题不布置,偏偏布置这种恶心人的题,最后贴上
普通 *** 作系统实验考试:内存管理,从页表地址到实际物理地址的转换;文艺 *** 作系统实验考试:nachos的结构分析(暂定,欢迎更改);二逼 *** 作系统实验考试:文件 *** 作,pdf文件的读写
)
PDFBox 2.0 是一个用于处理 PDF 文档的 Java 库,其中包括打印 PDF 文档的功能。PDFBox 2.0 的打印速度受多种因素影响,如打印机的性能、计算机的性能、PDF 文档的大小和复杂度等等。一般来说,PDFBox 2.0 的打印速度比较快,但具体速度还需要根据实际情况进行测试。如果您需要更快的打印速度,可以考虑以下几点:
1. 优化 PDF 文档:如果 PDF 文档过大或者包含复杂的图形和字体,可能会影响打印速度。可以尝试使用 PDF 编辑器优化 PDF 文档,减小文件大小和复杂度。
2. 选择合适的打印机:打印速度也受打印机的性能影响,选择一款速度较快的打印机可以提高打印速度。
3. 使用硬件加速:如果您的计算机支持硬件加速,可以尝试开启硬件加速功能,提高打印速度。
4. 优化代码:如果您使用 PDFBox 2.0 进行打印 *** 作,可以尝试优化代码,减少不必要的计算和 *** 作,提高打印速度。
需要注意的是,打印速度受多种因素影响,具体速度还需要根据实际情况进行测试和优化。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)