草庐IT

java - 使用 iText 在 PDF 文档中绘制一个矩形

iText有没有办法在PDF文档中绘制矩形? 最佳答案 这是解决方案。感谢DylanMcClung。PdfWriterwriter=...;PdfContentBytecb=writer.getDirectContent();cb.saveState();cb.setColorStroke(Color.black);cb.rectangle(x,y,x1,y1);cb.stroke();cb.restoreState(); 关于java-使用iText在PDF文档中绘制一个矩形,我们在S

java - 在单行中对齐 iText 中的文本

创建一行文本并将两个元素与假想线对齐的最佳方法是什么?像这样(给出四行以更好地说明这一点):1.somerandomtext34.somemorerandomtext764.here'sevenmorerandomtext4594.itjustneverends假想的线会穿过点,或者它们之后的空间。数字右对齐,文本左对齐。我不想使用列表,因为元素可能是无序的,而且它对设置行间距有一定的限制。 最佳答案 您可以使用具有2列的PdfPTable,第一列右对齐,最后一列左对齐。然后在单元格内容上设置设计器填充。例如:PdfPTabletb

java - 为什么在尝试读取文件时会出现 NullPointerException?

我使用此测试将txt转换为pdf:packageconvert.pdf;//getResourceAsStream(Stringname):Returnsaninputstreamforreadingthespecifiedresource.//toByteArray:GetthecontentsofanInputStreamasabyte[].importjava.io.FileOutputStream;importjava.io.IOException;importorg.apache.commons.io.IOUtils;importconvert.pdf.txt.TextCon

java - 如何使 PdfPTable 动态计算列宽

我想创建一个PdfPTable,其中的列包含不同长度的字符串。我了解到每个单元格/列的宽度对于每列(默认)是相同的,或者可以设置每列应占用的空间分数。但是,我希望列的宽度与需要的一样宽,但不能更宽,具体取决于插入的数据。假设表格很容易放在页面上(没有中断!)。当然,我可以手动遍历所有数据并计算每列的最大字符串长度,相应地设置表的属性,但我想知道itext本身是否已经提供了这样一个通用选项。 最佳答案 iText不是HTML,因此它没有自动调整宽度的选项,而是面向页面的,因此您必须决定宽度,可以是百分比值,也可以是绝对值。恐怕要按照您

javascript - 使用 iText 在 pdf 的特定位置标记

我试图使用javascript获取位置并传递坐标以在图章上应用图章,但它无法正常工作。下面是我用来捕获鼠标指针坐标的函数。functiondivMove(e){vardiv=document.getElementById('stamp');div.style.position='absolute';//div.style.top=e.clientY+'px';//div.style.left=e.clientX+'px';varbox=div.getBoundingClientRect();mouse_top=e.clientY;mouse_left=e.clientX;vardiff

Java PDF 操作和渲染

我希望这个问题能成为用Java处理和呈现PDF的综合指南。通过将多个开源库拼接在一起,我有一个相当全面的实现,我想对其进行改进。背景我的要求和当前的实现:检查现有PDF文档的特定条件(PDF版本、密码保护、字体嵌入、交叉引用表等)-未实现。允许通过页面坐标或其他机制定义Acroform字段。-未实现提供迭代PDF中的表单字段、检查字段类型并用数据填充它的功能-iTextv2.0.8以不同的分辨率/DPI将PDF渲染为图像-两种实现方式(pdfrenderer和IcePDF)将HTML/XHTML文件呈现为PDF-FlyingSaucerxhtmlrenderer在Java服务器环境中以

java - 确定 PDF 页面是包含文本还是纯图片

Java如何判断一个PDF页面是包含文字还是纯图片?我搜索了很多论坛和网站,但我找不到答案。能否从PDF中提取文本,判断页面是图片格式还是文本格式?PdfReaderreader=newPdfReader(INPUTFILE);PrintWriterout=newPrintWriter(newFileOutputStream(OUTPUTFILE));for(inti=1;i 最佳答案 没有防水的方法可以做你想做的。文本在PDF文件中可以以不同的方式出现。例如:可以使用图形状态运算符而不是使用文本状态来绘制所有字形。(如果您觉得这听

java - 如何在 itext 中设置自定义颜色?

感谢您花时间回答我的问题。我正在使用Java中的iText生成PDF文档。我需要将表格的列标题设置为与值列中的颜色不同的颜色。我有来自Photoshop的颜色十六进制值。我正在使用带有block和段落的PdfPTable。除了BaseColor枚举中预定义的颜色之外,如何将它们设置为不同的颜色?提前致谢! 最佳答案 您需要获取8位十六进制颜色值并将其转换为8位RGB值。HowtoconverthextorgbusingJava?然后您将能够创建一个新的BaseColor与您的RGB值。cell.setBackgroundColor(

java - 如何使用 Java 和 itext 从图形对象创建具有多个页面的 PDF

我有一个带有抽象方法draw(Graphics2Dg2)和方法print()、showPreview()、printPDF()的抽象类。对于我的Java程序中的每个文档,我都实现了draw(),因此我可以打印、显示预览并为每个文档创建一个PDF文件。我的问题是如何从该Graphics对象创建包含多个页面的PDF。我通过为每一页创建一个PDF文件来解决它,然后将这些文件合并到一个新文件中。但必须有更好的方法。我有以下代码来创建一页PDF:publicvoidprintPDF1(){JFileChooserdialog=newJFileChooser();StringfilePath=""

java - 什么取代了 iText 7 中的 block ?

尝试在java中使用iText7。想要有部分段落加粗。显然在早期版本中,这是通过分别格式化“block”然后将它们添加到段落中来完成的。显然iText7中不存在“block”。iText7的过程是什么? 最佳答案 com.itextpdf.layout.element中的Text旨在替代Chunk。要使段落的一部分变为粗体,您需要为一段文本指定粗体。Paragraphp=newParagraph();p.add(newText("thiswillbeinbold").setFont(boldFont));或者,您可以依靠iText为