小编Bru*_*gie的帖子

如何获取XFA表单中的字段列表?

我正在尝试获取我的XFA表单中所有字段的简单列表.我正在使用此代码:

private void ListFieldNames()
{
    string pdfTemplate = @"C:\Projects\iTextSharp\SReport.pdf";
    MemoryStream m = new MemoryStream();

    // title the form
    this.Text += " - " + pdfTemplate;

    // create a new PDF reader based on the PDF template document
    PdfReader pdfReader = new PdfReader(pdfTemplate);
    PdfStamper pdfStamper = new PdfStamper(pdfReader, m);
    AcroFields formFields = pdfStamper.AcroFields;        
    AcroFields form = pdfReader.AcroFields;
    XfaForm xfa = form.Xfa;
    StringBuilder sb = new StringBuilder();
    sb.Append(xfa.XfaPresent ? "XFA form" : "AcroForm");
    sb.Append(Environment.NewLine);

    foreach (string key in form.Fields.Keys)
    {
        sb.Append(key);
        sb.Append(Environment.NewLine); …
Run Code Online (Sandbox Code Playgroud)

c# xfa itextsharp

6
推荐指数
1
解决办法
5133
查看次数

iTextSharp:在PdfPCell中使用哪些对齐属性?

当我使用单元格的对齐,所以它的工作原理:

PdfPCell cell1 = new PdfPCell(new Phrase("Text" , Font));
cell1.HorizontalAlignment = 2;
Run Code Online (Sandbox Code Playgroud)

但是一旦对齐不起作用:

PdfPCell cell1 = new PdfPCell();
cell1.AddElement(new Phrase("Text 1", Font));
cell1.AddElement(new Phrase("Text 2", Font));
cell1.HorizontalAlignment = 2;
Run Code Online (Sandbox Code Playgroud)

原因?

c# itextsharp

6
推荐指数
1
解决办法
5568
查看次数

如何使用文本或图像为PDF水印?

我在一个文件夹中有一堆PDF文档,我想用水印来增加它们.Java服务器上下文有哪些选择?

优选地,水印将支持透明度.矢量和光栅都是可取的.

java pdf

6
推荐指数
1
解决办法
5397
查看次数

如何在同一行左右对齐两个段落?

我想在一行上向左侧和右侧显示两段内容(可能是段落或文本).我的输出应该是这样的

 Name:ABC                                                               date:2015-03-02
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

c# pdf itextsharp

6
推荐指数
1
解决办法
1万
查看次数

使用AcroForm技术提交PDF表单时的数据编码

当我创建一个包含AcroForm格式的文本字段(PDF字典,没有XFA)的PDF表单(例如使用Acrobat),并且我将数据提交给服务器时,如何指定/检索将使用的编码?

例如.当我提交中文字形'测试'(测试)时,我在服务器端收到以下标题和内容:

accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
content-type: application/x-www-form-urlencoded
content-length: 23
acrobat-version: 10.1.4
user-agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC; .NET4.0C; AskTbCLA/5.15.1.22229)
accept-encoding: gzip, deflate
connection: Keep-Alive
Song=%b2%e2%ca%d4&Test=
Run Code Online (Sandbox Code Playgroud)

除了x-www-form-urlencoded之外,没有对编码的引用.这两个字形表示为四个字节:B2 E2 CA D4.经过一些调查,我知道B2E2是第一个字形的GBK值,CAD4是第二个字形的GBK值,但是我不能从请求头中获取它.

它总是GBK吗?我想通过在PDF中的字典中设置特定键来更改数据编码,但似乎没有.例如:我想确保PDF始终发送Unicode字符而不是GBK.

请注意,我已经通过更改文本字段的默认字体(和编码)进行了实验.我还搜索了ISO-32000-1中的字段编码,但我发现的只是为复选框定义非拉丁字符的方法,以及有关FDF文件编码的一些信息.这些都没有回答我的问题.

pdf

5
推荐指数
1
解决办法
2257
查看次数

为什么即使内容相同,PDF文件也不同?

"在PDF查看器中打开时,通常有多种方法可以创建看起来像同卵双胞胎的PDF文档.即使您使用完全相同的代码创建两个相同的PDF文档,两个结果文件之间也会有很小的差异. PDF格式固有的."

我在"Itext in action-second edition"中读到了这一段.(第17页).任何人都可以解释一下作者所说的是什么样的差异.如果我可以说,pdf格式有这个缺陷的原因.

pdf pdf-generation

5
推荐指数
1
解决办法
879
查看次数

LTV和文档时间戳之间有什么联系?

我对iText中的LTV感到困惑.我已经阅读了论文,讨论但有一点仍然不清楚.LTV和文档时间戳之间有什么联系?或者更准确地说,如何在不使用时间戳的情况下启用pdf LTV?有一点我肯定知道,要创建一个支持LTV的文档,我不需要时间戳.我尝试在acrobat中使用数字证书签署文档,打开时说文档已启用LTV,我没有使用任何时间戳.

itext itextsharp

5
推荐指数
1
解决办法
2445
查看次数

pdfptable中的ItextSharp水平对齐

我尝试使用ItextSharp在pdf表中对齐单元格内容。不知何故,它根本不起作用,始终在左侧对齐。

     var pageSize = PageSize.A4;

        if (_pdfSettings.LetterPageSizeEnabled)
        {
            pageSize = PageSize.LETTER;
        }


        var doc = new Document(pageSize);
        PdfWriter.GetInstance(doc, stream);
        doc.Open();

        //fonts     

        var normalFont = GetFont();

            normalFont.Color = BaseColor.BLACK;
            normalFont.Size = 14;

       //..titlefont, smallfont,largefont....

         var addressTable = new PdfPTable(1);
         addressTable.WidthPercentage = 100f;

         cell = new PdfPCell();

         cell.AddElement(new Paragraph("Ng??i G?i", titleFont));
         cell.AddElement(new Paragraph("TAKARA.VN", largeFont));

         cell.HorizontalAlignment = Element.ALIGN_RIGHT;

         addressTable.AddCell(cell);

         doc.Add(addressTable);
         doc.Add(new Paragraph("", normalFont));
Run Code Online (Sandbox Code Playgroud)

更新:我找到了答案

您在混淆文本模式和复合模式。

文字模式:

Phrase p = New Phrase("value");
PdfPCell cell = new PdfPCell(p);
cell.HorizontalAlignment = Element.ALIGN_CENTER;
table.AddCell(cell);
Run Code Online (Sandbox Code Playgroud)

复合模式:

PdfPCell cell …
Run Code Online (Sandbox Code Playgroud)

c# pdf itextsharp

5
推荐指数
1
解决办法
1万
查看次数

iText - 如何在现有PDF上标记图像并创建锚点

我有一个现有的文件,我想在绝对位置标记图像.我能够做到这一点,但我也想让这个图像可以点击:当用户点击图像时,我希望PDF转到文档的最后一页.

这是我的代码:

PdfReader readerOriginalDoc = new PdfReader("src/main/resources/test.pdf");         
PdfStamper stamper = new PdfStamper(readerOriginalDoc,new FileOutputStream("NewStamper.pdf"));
PdfContentByte content = stamper.getOverContent(1);
Image image = Image.getInstance("src/main/resources/images.jpg");
image.scaleAbsolute(50, 20);
image.setAbsolutePosition(100, 100);
image.setAnnotation(new Annotation(0, 0, 0, 0, 3));
content.addImage(image);
stamper.close();
Run Code Online (Sandbox Code Playgroud)

知道怎么做吗?

itext

5
推荐指数
1
解决办法
8340
查看次数

如何使用itextsharp在PdfContentByte矩形中添加文本?

我用PdfContentByte创建了矩形.现在我想在这个矩形中添加一个文本.我怎样才能做到这一点.如果有人有想法请与我分享.我的矩形代码是

 Document doc = new Document(new Rectangle(570, 924f));
 PdfWriter writer = PdfWriter.GetInstance(doc,Response.OutputStream);
 PdfContentByte cb = writer.DirectContent;
 cb.Rectangle(doc.PageSize.Width -90f, 830f, 50f,50f);
 cb.Stroke();
Run Code Online (Sandbox Code Playgroud)

c# asp.net itextsharp

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

itextsharp ×6

c# ×5

pdf ×5

itext ×2

asp.net ×1

java ×1

pdf-generation ×1

xfa ×1