我正在尝试从pdf文件中提取文本。在Acrobat中可以选择文本。Acrobat列出了ArialUnicodeMS字体,字体类型为:TrueType(CID),编码为:Identity-H
使用片段
PdfReader reader = new PdfReader(filePath);
String content = PdfTextExtractor.getTextFromPage(reader, 1);
我正在取回一些东西,但当输出到标准输出或文件(输出看起来像空白字符)时,它是不可读的。
如何使用iText查找文档中的行的位置
假设我在一个PDF文档中有一个表,并且想要读取它的内容;我想知道细胞的确切位置。为了做到这一点,我想我可能会找到线的交点。我认为使用iText的唯一选择是手动解析PDF标记。在这样做之前,我会
(我是一个.Net用户,所以我使用iTextSharp,但除了一些资本化差异和财产声明之外,它们几乎100%相同。)
您可以使用PRTokeniser对象获取单个令牌,通过在PdfReader上调用getPageContent(pageNum)将字节送入该对象
//
标签: Itext
flying-saucermargin
我正在尝试使用飞碟和itext 5创建一个pdf,其中包含文本和一些占据整个页面上半部分(包括页边距)的图像。对宽度和高度使用css属性,并使图像浮动,我可以使图像显示在页面顶部,但它仍然(当然)在页面的边距内。当我试图用,比如
margin-top: -1in;
图像不会移动到当前页的边距中,而是移动到上一页
如何使图像移动到页边距中?如果您的图像是在HTML页面的正文中定义的,我不知道如何将其移动到页边距中
但是,您可以将图像定义为页面的背景
这将类似于:
@page {
size
我需要使用iText以编程方式将页眉和页脚添加到现有的基于表单的PDF中。现有的PDF来自用户,它不包含页眉和页脚的空间。因此,解决方案是通过将现有PDF的内容与页眉和页脚连接起来来创建新的PDF。但是,这种方法仅适用于不包含表单的PDF。对于包含AcroForm或XFA表单的交互式PDF,失败如下:(1)AcroForm在新PDF中变平。(2) XFA表单根本不导入-新的PDF显示“请稍候…如果此消息最终没有被文档的正确内容替换,您的PDF查看器可能无法显示此类型的文档…”
这是我的密码:
i
我正在使用iTextSharp生成PDF文档。我能够创建并添加一个表。现在我想在PDF中添加一些普通文本。我该怎么做?我在网上看了看,他们建议使用块,但不起作用:
Chunk c1 = new Chunk("A chunk represents an isolated string. ");
这就是我添加表格的方式:
private byte[] CreatePDFFile(StudentJournalAdd studentjournal, SearchResult<JournalAtt
我想将设置添加到pdf中,以便在将.pdf发送到打印机时告诉打印机我希望如何对页面进行双面打印
如何在iText中执行此操作
具体来说,我想将前三页作为单工发送,然后切换到双工
用例是在一个80页的文档上打印两个封面
我不想添加空白页,因为当人们在线查看文档时,这会让人分心
我看到addViewerPreference()接受一些与双工相关的值,但我看不到如何在单个页面上设置它。AFAIK在pdf标准中没有表达这一点的选项。
需要有关iText单元格事件未触发的帮助
在下面的演示中,我预计cell事件将触发两次。但它只会在第一个单元格上触发。区别似乎是第一个单元格的单元格事件
在将单元格添加到表中之前将添加到单元格中。我读过这本书和javadoc,但不认为这是一个先决条件。是虫子吗?有解决办法吗
公共类ITextCellEvent{
公共静态void main(字符串[]args)抛出FileNotFoundException、DocumentException{
文件文件=新文件(PageSize.A4);
flo
当我将一页PDF附加到大型PDF时,itext始终旋转180度,然后再附加。其他人遇到过同样的问题吗?我使用了iText-5.0.6.jar和itextpdf-5.4.0.jar。提前谢谢 我找到了原因:当通过扫描机生成PDf文件时,有一些设置,旋转属性设置为180。稍后处理PDF文件时,它会自动关闭。它可以通过方法PdfImportedPage.getRotation()进行检查 这是一个低质量的问题。请提供更多信息,至少是您的设置。我可以向您保证,在我附加时不会发生这种情况。因此,您的追加代
当我使用itextsharp从现有PDF文件生成PDF文件时,我的工作代码是
string sourceFile=“a4.pdf”,targetFile=“processed.pdf”;
PdfReader reader=新的PdfReader(源文件);
单据单据=新单据();
PdfWriter writer=PdfWriter.GetInstance(doc,newfilestream(targetFile,FileMode.Create));
doc.Open();
PdfConten
CustomTagWorker实例的方法调用顺序是什么?(即何时调用processContent,何时调用processTagChild,getElementResult?)这个问题的后续问题是,如何使用这些方法的ProcessorContext参数在特定的自定义标记元素之后在pdf中添加分页符?(我正在运行iText版本7.0.2)A。如果您希望实现分页符,pdfHTML 1.0.1将支持CSS属性之后的分页符
对我来说,解释调用顺序最简单的方法就是显示它。在编写定制tagworker示例时,
我正在用iTextSharp做一些测试,看看它是否能自动执行我的工作流程。因此,我使用Pandoc从markdown生成一些pdfs。但是当我生成文件时,iTextSharp无法识别我生成的字段。它可以识别我没有创建的不同的pdf中的字段,因此我认为这是我做错了
解决方案:
我想我需要一个表单包装:
\begin{Form}
My field: \underline{\TextField[name=AField]{}}
\end{Form}
\begin{Form}
My field:
是否可以使用iText7获取PDF字段的制表符顺序
您可以在Acrobat中定义选项卡顺序,但在iText7库中似乎无法获得该选项卡顺序
我正在编写一个应用程序,从PDF文件中提取字段,并希望根据PDF中定义的制表符顺序对这些字段进行排序。页面上字段或更多注释的顺序由页面字典中的制表符条目确定。其值指定为:
可选;PDF 1.5指定页上注释所用标签顺序的名称见12.5注释。可能的值应为R行顺序、C列顺序和S结构顺序。从PDF 2.0开始,可能的值还包括注释数组顺序和W小部件顺序。Annotati
我正在创建一个包含阿拉伯语和拉丁语混合数据的PDF。阿拉伯语没有定形。我的代码类似于Ligatures2示例:
PdfPTable table = new PdfPTable(1);
table.setWidthPercentage(100);
table.getDefaultCell().setBorder(0);
table
标签: Itext
digital-signaturedigest
我有这种情况
我有一个生成PDF的应用程序,需要签名
我们没有签署文档的证书,因为它们位于HSM中,我们可以使用证书的唯一方法是使用Web服务
此Web服务提供两个选项:发送PDF文档并返回已签名的PDF,或发送将被签名的哈希
第一个选项是不可行的,因为PDF签名时没有时间戳(这是一个非常重要的必要条件),所以选择了第二个选项
这是我们的代码,首先,我们获得签名外观,并计算哈希:
PdfReader reader = new PdfReader(Base64.decode(pdfB64));
r
我正在尝试使用Itext应用程序。我已从下载jar文件并尝试启动该文件:itextpdf-5.5.5.jar,但出现错误:
itextpdf-5.5.5.jar中没有主清单属性
你能帮我解释一下我如何启动它吗?清单中似乎没有声明的主类。Er。。。启动jar是什么意思?iText是一个库,不是可执行文件。你希望我下一步做什么?啊,很抱歉误会了:我试图帮助我的同事,但没有调查这个问题。我的大错。好的,没问题。是唯一具有GUI的iText工具。所有其他jar都是内置在软件中的库。
我有一个HTML页面,其中包含一个有许多列的表格,它们不适合屏幕,所以查看表格的人必须从左向右滚动才能看到完整内容,因为页面的宽度大于屏幕。
当我将此HTML页面转换为PDF时,不滚动就看不到的内容不会呈现在PDF文档中。我们有没有办法获得HTML页面宽度并增加PDF页面宽度?没有“HTML页面宽度”这样的东西。增加页面大小很容易。您可以定义任何矩形,并将其用作文档构造函数的参数。您的问题在当前状态下无法回答。请重新措辞,并解释(使用明确的规范)您所说的“HTML页面宽度”是什么意思。无论如何谢
我需要使用PdfWriter而不是PdfCopy复制注释,因为在复制时,我需要调整页面大小/旋转页面。有人能告诉我怎么做吗?您认为需要使用普通的PdfWriter而不是PdfCopy来复制PDF,因为您需要调整页面大小/旋转页面,而第二版中的iText表示,在PdfCopy类中不可能这样做。因此,您需要寻找一种在这样的上下文中复制注释的方法
您应该寻找一种方法来旋转或调整页面大小,同时使用PdfCopy
虽然PdfCopyclass本身不允许调整页面大小或旋转页面,但您可以使用PdfCopy类操
我正在尝试将HTMLWorker用于itext pdf和缅甸字符,但它不起作用,而在纯html中它起作用
HTML:
文件
扎伊先生{
字体系列:Zawgyi One;
}
.unicode{
字体系列:Myanmar3,Yunghkio,“杰作Uni Sans”;
}
这是为ZawGyI字体设计的
၀န္ထမ္းလစာေပးေခ်လႊာ( လစာငွေ )
သည္စာသည္ ေဇာ္ဂ်ီ ျဖင့္ေရးေသာစာျဖစ္သည္
这是unicode(myanmar3)字体
၀န္ထမ္း
标签: Itext
flying-saucerpdfviewer
请检查更新,因为他们有其他信息。。。显然在特定的pdf客户端中找到了问题,但无法通过公开悬赏解决问题
我正在生成一个pdf使用。PDF里面有几个图像,其中“一些”没有被输出
我通过数据URI内联渲染图像,如图所示。这意味着我所有的图像都类似于:
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQECWAJYAAD...">
如果我在一个普通的html视图中呈现它们,我可以很好地看到图像!
如果我使用相同的插件将模板渲染为JPG
我正在使用iText库生成文本。我正在加载Arial Unicode MS字体,它不包含粗体样式,因此iText模拟粗体。这很好,但是与使用JavaAPI甚至MicrosoftWord生成的文本相比,粗体字体的重量显得太重了。
我试图从FontDescriptor获取权重,但返回的值始终为0.0
float weight = font.getBaseFont().getFontDescriptor(BaseFont.FONT_WEIGHT, fontSize);
有没有办法更改模拟粗体字体的重
标签: Itext
arabicpdfstamperacrofields
我已经制作了一个带有多行文本框的pdf模板,并且必须使用PDFStamper在Acrofields中设置一些阿拉伯语数据。
第一行的文字运行方向正确,但在文字换行时会发生变化
请导游
package test;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.FontF
我有一个带有复选框的可编辑pdf,选择后我将该pdf展平。从该展平pdf中,我需要阅读复选框选择,它看起来像交叉标记(X),是否有可能阅读该复选框选择。当你展平pdf时,你会失去所有的交互性。如果在交互式表单中有一个复选框字段,并且将该表单展平,则复选框字段将消失。这就是扁平化的概念
实践中会发生什么
复选框字段有两种外观。一种外观为关闭。此外观可以是路径,例如定义为矩形的简单正方形。另一个外观可以有任何名称On,Yes,1,或原始形式中定义的任何名称。相应的外观可以是与Off外观相同的正方形,
我能够使用java适配器和ITEXT库生成PDF,但无法向生成的PDF添加徽标。徽标出现在java适配器文件夹结构中,同时尝试引用我正在获取的图像文件“未找到文件”异常。下面是代码
@GET
@OAuthSecurity(enabled=false)
@Produces("application/pdf")
@Path("/downloadfile")
public Response getResourceData() throws IOException, DocumentException
我正在使用iTextSharp和C#来填充可编辑的PDF。一切正常,但我突然发现PdfStamper线路出错
PdfReader pdfReader = new PdfReader(File.ReadAllBytes(pdfTemplatePath));
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create,FileAccess.Write));
AcroFields p
我知道如何从TIFF创建PDF。我的问题是:
itext如何在不修改原始TIFF的情况下嵌入原始TIFF?
我使用document.add(img)(其中img是TIFF)创建PDF。然而,TIFF被修改为更小的尺寸。在本例中,我的原始未压缩b/w TIFF文件大小为2.8 MB,被压缩为CCITT Group 4 TIFF
itext是否有不修改TIFF的方法 请咨询ISO-32000-1。如果仔细阅读本标准,您会在LZW和Flate过滤器的上下文中找到对TIFF的引用,但您会发现TIFF不是
我们的项目需要动态PDF生成6种语言,其中包括印地语和阿拉伯语。iText对于除这两种语言之外的其他语言都非常有效。有人能告诉我当前版本的iText(5.5.5)是否有印地语和阿拉伯语的连字实现吗?@BrunoLowagie:非常感谢您的输入。我正在研究印度语,但您已经对阿拉伯语有很好的支持,只是别忘了设定书写方向。@Paulosares:谢谢您的快速回复。呈现阿拉伯语文本不是一个问题,但与印地语类似,我们面临阿拉伯语中的字形(未正确呈现的联合字符)问题。我们多久能在iText中获得印地语支持?
我正在使用itextsharp从html创建pdf文件。我有一个动态字符串,它将占据半页到整页,然后是一个动态表。问题是,如果我有时将整个表移动到新页面,并且如果我打破表,则页眉单独在一个页面中,其余内容有时在下一个页面中,那么会有很大的空间
我想知道是否有可能确保在表头和表的第一行之间不引入分页符
我知道如何做到以下几点
如果页面中没有足够的空间,请防止整个表被拆分,并使用
KeepTogether=true
允许拆分表,但如果没有足够的空间,请使用
KeepTogether=false
S
我不熟悉iText。我用的是iText7
在iText 5中,有两个内容流:内容下和内容上。如果有人想在内容流下方或上方添加内容,iText 7中的替代方案是什么
请使用PdfPage#newContentStreamBefore()或PdfPage#newContentStreamAfter()
例如,在下面的代码片段中,我将为一些已经存在的PdfPage实例创建一个PdfCanvas实例(第页)
然后,您可以将此PdfCanvas实例作为常用实例使用:主要区别在于,内容将在其他内容之前呈现(
我有一个非常简单的HTML表格,包含12列。我正在尝试使用iText 5.1.1(Java)将其转换为PDF
我的问题是,PDF输出中的表是换行的。我的意思是,它显示第一行,但在页面末尾换行,然后没有换行符或任何东西,它只显示前一行最后一个单元格之后开始的下一行
如何使iText的HtmlWorker“nowrap”成为我的表格,即在PDF中的一行中显示一行
顺便说一句,我仍然希望包装单元格数据,而不是表格行:
h1 h2 h3 h4
h5 c1 c2 c3
c4 c5
而不是屏幕截图
在itext中,您可以使用app.launchURL打开链接。这提供了一个额外的参数以在新选项卡中打开它。
我们希望在新选项卡中打开url,但每次都是在同一选项卡中打开。就像在普通a href中一样,将目标设置为命名选项卡
这可能吗?
提前谢谢!您好,Marieke据我所知,ISO-32000-1中没有这样的功能。找到实现这一点的最佳方法是查看JavaScript规范
顺便说一句,我有一份未发布的ISO规范“ECMAScript for PDF”(目前正在比勒陀利亚的ISO会议上开发)。它是这样
我已经用iText创建了一个pdf文档,它将我的音乐收藏按艺术家分类,我使用了《iText在行动》一书中的一个例子创建了一个TOC,它设置了跳转到所选章节的链接。一切如期进行。我想在每一章中添加一个链接,返回到我在点击链接之前所在的TOC页面。我在书中看不到任何解释如何做到这一点的内容。我不理解这个问题。你说你可以创建特定页面的链接(每个章节都从这里开始),多亏了我的书中的解释。同时你声称我的书没有解释如何创建指向特定页面的链接(TOC从哪里开始)。那没有道理,是吗?我的书要么解释了如何创建指向
目前,我正在使用
document.add( Chunk.NEWLINE );
在每个段落之后,在两个段落之间生成空格。如何生成我指定的任意高度的间距?相同段落的两行之间的间距称为前导。看
如果要在段落之前或之后引入额外的间距,可以使用or方法。看
例如:
Paragraph paragraph1 = new Paragraph("First paragraph");
paragraph1.setSpacingAfter(72f);
document.add(paragraph1);
Para
抱歉,如果这个问题对于某个特定的库来说太具体了,但是它似乎很流行,以至于有人可能知道这个问题的答案。AddImage的API文档没有说明每个参数是什么:
public PdfXObject addImage(ImageData image,
float a,
float b,
float c,
float d,
因此,我们使用许可的iText版本将xfa设置为pdf格式
如果我们按如下方式设置xfa数据,请注意xfa数据标记是xml的一部分。我们无法使用jPedal呈现该文件。在Adobe中查看文件时,我们看到所有字段都有值
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xfa:data xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
我正在用Genexus开发一个应用程序,它使用iText呈现PDF
我在WindowsServer2012上得到这个错误,64位
iTextSharp.text.DocumentException:C:\Windows\Fonts\BAR25IFH.TTF由于许可证限制而无法嵌入
WS2003上的相同程序,32位,运行良好
致以最诚挚的问候您应该将此字体嵌入到报表中,genexus在PDFREPORT.INI文件中设置了此属性,如下所示
[字体位置(Sun)]
Microsoft Sans Se
如何使用iTextsharp库修改PDF对象流中的对象
具体而言,我希望利用PDF操纵功能将某种形式的水印插入/修改到对象流中,而该水印作为显示内容不可见。将某种形式的水印插入到对象流中,而该水印作为显示内容不可见-请更清楚地指定。水印不应该是可见的,好吧,但它应该是什么?@AmedeeVanGasse我真的不知道从哪里开始,所以我还没有真正做任何事情。我一直在使用诸如pdfedit之类的工具来探索PDF的内部结构。@mkl我试图看看是否可以在对象流中放置一些东西来唯一地标识此文件。接下来,某种
当我将pdfAutoSweep.cleanUp(pdf)用于特定的pdf时,我遇到了以下异常:
java.lang.IllegalStateException: Coordinate outside allowed range at
com.itextpdf.kernel.pdf.canvas.parser.clipper.ClipperBase.rangeTest(ClipperBase.java:76)
at com.itextpdf.kernel.pdf.canvas.pars
标签: Itext
information-extraction
有人能告诉我如何使用iText library以编程方式从电子书(PDF)中提取目录、章节和索引的内容吗?我通过解析书签实现了这一点。下面是我使用iText解析PDF中书签的代码
public void ParseBookMarkToLevel(List<HashMap<String,Object>> listBookmarks,Integer intLevel )
{
//if intLevel == 999 Parse the full bookmark
我正在尝试将文本块放置到ColumnText对象中,该对象的文本长度超出了该列所能容纳的长度。。函数go将不返回除此之外的任何列,但如何获得不适合列的剩余字符串?我对列使用自动断字
代码是这样的:
PdfContentByte bait=pdfw.getDirectContent();
bait.saveState();
Chunk c=new Chunk(text, font);
HyphenationAuto h=new HyphenationAuto("fi", "FI", 2, 2);
下面是我的示例应用程序,我在其中遇到了一个在线错误
Add2CellRow(表“年龄”,1,“性别”,2)
我认为rowspan值造成了问题,因为下一行没有生成
有人能帮忙吗
代码是针对阿拉伯文化的,因此需要设置
Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SA");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("ar-SA");
private stat
我的pfx文件已导入Azure密钥库,当我将其作为密钥包取回时,它仅包含公钥。
如何使用Azure key vault通过itextsharp签署PDF文档key vault不会导出私钥,可能是因为这会违反安全要求。您必须从PDF区域计算摘要,然后调用RESTAPI。您也可以使用。PDF版本1.6+支持的签名算法。确保您理解。我对PDF签名了解不多,但我鼓励您阅读详细介绍PDF签名的手册。您可能可以编写自己的提供程序发送到Azure,但您可能还需要检查Azure使用的算法在iText和PDF规范
我正在尝试设置表格单元格的边框颜色。无论我尝试什么,边框颜色都不会改变——始终是黑色!我做错了什么?这是我的测试代码单元格1应具有红色的上边框和蓝色的下边框:
PdfPTable table = new PdfPTable(2);
PdfPCell cell1 = new PdfPCell(new Phrase("Cell 1"));
cell1.setBorderColorTop(new BaseColor(255, 0, 0));
cell1.setBord
我正在使用iText5生成一些报告
打开生成的.PDF文件,大多数PDF阅读器看起来和实际上都很好
但是,当我使用AdobeReader(DC)打开PDF时,它会询问我是否要在关闭时保存更改。虽然我没有改变什么
点击“取消”可以确保消息窗口消失,但点击“保存”会导致文件实际缩小
现在那里发生了什么?为什么?如何禁用它
应用程序的用户很可能也会使用AdobeReader
我不希望他们在任何时候打开报表时都看到“保存”对话框
这是我的基本报告课
public abstract class Base
标签: Itext
digital-signaturefoxitfoxit-reader
我在点击签名和验证签名时出现以下错误
签名验证状态。
签名无效
签名似乎是将来的签名
由当前用户认证
我正在本地计算机上签名,并在本地计算机上打开已签名的pdf
Foxit版本:7.3.4.311
在adobe reader中打开相同的文件,我可以在adobe中验证签名。我使用c#和Itextsharp进行pdf签名 我添加了Foxit和Foxit阅读器标签。既然Adobe Reader没有抱怨,我假设这不是一个iText问题。这听起来像是一个验证器(Foxit或Adobe)在错误的时区解释
我正在使用HTMLConverter将html转换为PDF,并尝试设置一些边距
现行守则:
ConverterProperties props = new ConverterProperties();
props.setBaseUri("src/main/resources/xslt");
PdfDocument pdf = new PdfDocument(new PdfWriter(new FileOutputStream(dest)));
pdf.setDe
标签: Itext
pdf-generationitext7pdfhtml
我使用iText(在.Net上)已经有一段时间了,但直到最近才开始使用htmlpdf,而不是手动构建文档
在以前的项目中,我使用以下代码设置文档元数据:
document = new Document();
m = new MemoryStream();
writer = PdfWriter.GetInstance(document, m);
document.AddTitle("Document Title");
docum
在我的项目中,我打开现有的PDF,并在特定位置添加文本。从今天我得到一个风景文件开始,这一切都很顺利。这是我的代码:
outputStream = new FileOutputStream(file + "_out.pdf");
PdfReader reader = new PdfReader(file);
PdfStamper stamper = new PdfStamper(reader, outputStream);
stamper.setRotateContents(true);
Pdf
使用iTextAPI可以实现以下功能
我们有一个生成pdf文档的要求-
标题静态数据在所有页面中重复。所有页面中应填写或重复相同的数据。
产品详细信息部分动态增长数据。此部分类似于表,但值由多个hibernate实体字段组成。
页脚在所有页面中重复硬编码页脚
如果这可以通过iText api实现,我们计划购买商业许可证。使用核心iText,您可以通过注入XML来填写XFA表单。您描述的功能要求您首先创建动态XFA表单,例如使用Adobe LiveCycle Designer。结果将是一个用PDF
标签: Itext
pdf-generationscaling
我正在尝试用iText(在一个新的PDF文档上)缩放一个图像,以使其填充页面宽度而不会拉伸,这样它就可以占用几页
我已经找到了很多解决方案,但它们相当复杂,我真的不喜欢这样编码。到目前为止,我找到的最好的解决方案(从另一个问题开始)是使用PdfTable,但它总是使用单个页面,缩放图像
// Load image from external storage
Image image = Image.getInstance(path + "/img.png");
// Calculate ratio
我正在尝试向PDF添加批注
我首先使用ApachePOI读取Excel文件,然后输出为PDF文件。没问题。当我遇到错误时,我会在PDF中创建一个注释和书签
注释是我的问题。如果我只是构建:
doc.add(new Annotation("Title", "Text");
它工作正常,但注释图标太小
我正在尝试创建一个更大的图标。但是,这不是创造。我认为这与我提供的浮动价格有关
我使用了过多的:
doc.add(new Annotation("Title", "Text", xxxf, xxxf
1 2 3 4 5 6 ...
下一页 最后一页 共 19 页