Tag: itext

iText – 可点击的图片应该打开ms word附件

如何使图像可单击以便打开附加的ms word文档? 我在这里有一些PDF文件,其中有一些图像(图标下方带有ms文件名的ms字图标),通过点击图像打开附加的ms word文档,我想知道如何使用iText库执行此操作。 我可以添加图像并附加ms word文档,但我还没弄清楚如何应用somwthing就像一个动作(GoToE似乎只适用于PDF附件)或链接?

iText:单元格中的图像列表

我想创建一个包含点列表的表。 我不知道我有多少点,但是如果它们溢出了单元格,我希望它们就像文本一样包裹起来。 我的代码是这样的: PdfPTable table = new PdfPTable(1); table.setTotalWidth(new float[]{80}); table.setLockedWidth(true); Phrase listOfDots = new Phrase(); for (int i = 0; i < 40; i++) { listOfDots.add(new Chunk(pdf.correct, 0, 0)); listOfDots.add(new Chunk(" ")); } table.addCell(listOfDots); outerCell.addElement(table); 像我期望的那样,点包裹,但它们并不都具有相同的尺寸。 每行有7行,每行5个点,所有35个点的大小相同。 最后一排5个点大约是其他一半的一半。 (我试图发布一张图片,但我在这个网站上不够老练。) 有没有办法让所有图像大小相同?

使用java和itext生成带有Unicode字符的PDF文档

我尝试调整一些额外的Unicode符号的itext示例中的标准代码。 虽然使用的字体支持这些字符,但我没有得到任何结果。 (最后一个字符“\ u2609”未打印为pdf) 提前致谢! /* * These examples are written by Bruno Lowagie in the context of an article about fonts. */ package sandbox.fonts.tutorial; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Font; import com.itextpdf.text.FontFactory; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.PdfWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import sandbox.WrapToTest; /** * @author Bruno Lowagie (iText Software) */ […]

使用iText5在生成的PDF中使用unicode字符

我对生成的PDF中的unicode字符有疑问。 在我自己的工作站上一切正常,但在测试环境中出了问题。 代码插入值如下: Font boldDefaultFont = FontFactory.getFont(FontFactory.HELVETICA, 10, Font.BOLD); // … PdfPCell headerCell = new PdfPCell(); // unit.getName() returns “°C” Phrase header = new Phrase(unit.getName(), boldDefaultFont); headerCell.addElement(header); Java源代码是UTF-8。 当这在我的环境中运行时(java 1.6.0_18,WinXP)单元格包含°C正如我所期望的那样,但在测试环境(java 1.6.0_18,Win2003)中,结果是°C 。 我已经发现这是一个编码问题(UTF-8’°’是0xc2b0,等于iso-8859-1中的’°’)。 现在我试过以下: 1)将-Dfile.encoding=utf8添加到java选项(在任一环境中都没有效果) 2)将ARIALUNI.TTF添加到测试环境C:\ WINDOWS \ Fonts(无效) 3)将unit.getName()编码为iso-8859-1,但它使得唱歌程度在我的机器中消失。 查看pdf的环境无效,在我的工作站上生成的pdf可以很好地显示在各处,反之亦然。 有没有人有这方面的经验? 我打赌有一种方法可以在两种环境中使用它。

如何在iText中定位PDFGraphis2D对象?

我正在创建一个PDF,我想在那里添加一个JPanel。 使用PdfContentByte和PdfGraphics2D我可以将它添加到文档中但是: 如何定位它,使其位于左边距而不是左页边缘? 如何防止它出现在其他元素上? 换句话说:我怎么能把它放在段落中? 代码片段: // multiple Paragraphs // … JPanel myPanel = … PdfContentByte canvas = writer.getDirectContent(); int origWidth = myPanel.getWidth(); int origHeight = myPanel.getHeight(); float width = document.getPageSize().getWidth() – document.leftMargin() – document.rightMargin(); double scale = width / origWidth; Graphics2D g2 = new PdfGraphics2D(canvas, origWidth, origHeight); g2.scale(scale, scale); myPanel.paint(g2); g2.dispose(); // even more […]

我可以使用iText在我的Swing应用程序中呈现PDF吗?

iText可以在Swing应用程序中呈现PDF文档吗? 或者我是否必须使用另一个库/框架?

使用java创建复杂的pdf

我有一个基于Java / Java EE的应用程序,其中我需要为将提供给用户的各种服务创建PDF证书。 我正在寻找一种创建PDF的方法(目前不需要数字证书)。 这样做最简单方便的方法是什么? 我努力了 XSL转换为pdf 使用itext进行HTML到PDF的转换。 粗java方式(使用PDFWriter,PdfPCell等) 最好的方法是什么,还是有其他方法更简单方便?

如何使用iText跳过文本插入点到下一列?

我正在使用iText java lib创建3列布局。 最大的问题是,第一列中的文本可能小于第二列中的文本,或者第二列中的文本小于第三列中的文本。 所以我需要将插入点移动到下一列。 我试图使用nextColumn方法,它应该将插入点移动到下一列,但它将所有列移动到右侧。 也许有人有同样的问题,知道如何做对吗? 谢谢你的回答! 下图显示了我想要的内容。 更新: 好的,我会尝试重新解释这个问题。 以下是我如何声明3列的代码: MultiColumnText columnsFooter = new MultiColumnText(210f); columnsFooter.addRegularColumns(document.left() – 10f, document.right(), 0, 3); columnsFooter.setAlignment(Element.ALIGN_CENTER); 我有3列标题,每列有一些文字。 文本取决于用户今天输入的文本数量。 如果用户填写文本限制是正常的,因为第一列已填充,第二列文本转到第二列(第二列文本从第二列开始)。 但是,如果用户没有填写第一列或第二列的文本限制,则下一个列将从未完全填充的列开始写入。 即 这没关系,因为第一列和第二列已完全填满。 这很糟糕,因为第一列未完全填满,第二列文本从第一列开始。 因此,我需要在HEADER 2和3之前添加列分隔符,以便在文本未完全填满时获得良好的布局结构。

java.lang.NoClassDefFoundError:com / itextpdf / text / DocumentException

我试图通过以下servlet生成动态PDF文件。 import java.io.*; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // Document Object import com.itextpdf.text.Document; //For adding content into PDF document import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.text.DocumentException; public class CreatePDFExample extends HttpServlet { //invoked from doGet method to create PDF through servlet protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //Set content […]

iText PDFDocument页面大小不准确

我正在尝试使用iText为Java中的现有pdf文档添加标题。 我可以在文档的固定位置添加标题,但所有文档都是不同的页面大小,因此它并不总是位于页面的顶部。 我已经尝试获取页面大小,以便我可以计算标题的位置,但似乎页面大小实际上不是我想要的。 在某些文档中,调用reader.getPageSize(i).getTop(20)会将文本放在页面顶部的正确位置,但是,在某些不同的文档中,它会将其放在页面的一半。 大多数页面都被扫描为Xerox复印机,如果这有所不同的话。 这是我正在使用的代码: PdfReader reader = new PdfReader(readFilePath); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(writeFilePath)); BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); for (int i = 1; i <= reader.getNumberOfPages(); i++) { PdfContentByte cb = stamper.getOverContent(i); cb.beginText(); cb.setFontAndSize(bf, 14); float x = reader.getPageSize(i).getWidth() / 2; float y = reader.getPageSize(i).getTop(20); cb.showTextAligned(PdfContentByte.ALIGN_CENTER, "Copy", x, y, […]