标签: itextsharp

itextsharp测量块宽度/高度

我正在尝试与iTextSharp进行一些精确的对齐,但是我一直在努力,因为我无法找到获得块或段落的宽度/高度值的方法.如果我创建一个特定字体和大小的文本和文本,那么它的尺寸应该是已知的,对吗?

我知道默认的左/右/中心对齐对我来说很有用,但我知道尺寸最有用的场景.有任何想法吗?

c# itextsharp

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

ItextSharp(Itext) - 为段落设置自定义字体

我试图将自定义字体设置为段落,但我无法使其工作.我尝试设置.Font =,但它只能在大小方面工作,但它忽略了字体.你能帮忙吗?

Paragraph T = new Paragraph(newTempLine);
iTextSharp.text.Font contentFont = iTextSharp.text.FontFactory.GetFont("Webdings", 12, iTextSharp.text.Font.NORMAL);
T.Font = contentFont;
myDocument.Add(T);
Run Code Online (Sandbox Code Playgroud)

c# fonts itext itextsharp

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

PDF hostContainer回调

按照此SO解决方案在此处通知客户PDF文档中的单击事件,如何在客户端使用this.myPDF.submitForm("localhost/Handler.ashx?r = 2"提交PDF时通知客户端)功能?

PDF文件在用户控件内创建,然后呈现为HTML对象:

string container = ("<object data='/myfile.pdf' type='application/pdf'></object>");
Run Code Online (Sandbox Code Playgroud)

附加到PDF的JS文件是这样完成的:

 var webClient = new WebClient();
 string htmlContent = webClient.DownloadString(fileurl + "pdf_script.js");
 PdfAction action = PdfAction.JavaScript(htmlContnent, pdfstamper.Writer);
 pdfstamper.Writer.SetOpenAction(action);
Run Code Online (Sandbox Code Playgroud)

和js文件的内容:

this.disclosed = true;
if (this.external && this.hostContainer) {

function onMessageFunc(stringArray) {
     try {
          this.myPDF.submitForm("http://localhost/Handler.ashx?EmpNo=12345" + "#FDF", false);

        }
        catch (e) {

        }
    }
    function onErrorFunc(e) {
        console.show();
        console.println(e.toString());
    }
    try {
        if (!this.hostContainer.messageHandler);
        this.hostContainer.messageHandler = new Object();
        this.hostContainer.messageHandler.myPDF = this;
        this.hostContainer.messageHandler.onMessage = onMessageFunc;
        this.hostContainer.messageHandler.onError = onErrorFunc;
        this.hostContainer.messageHandler.onDisclose = function …
Run Code Online (Sandbox Code Playgroud)

javascript pdf adobe itextsharp acrofields

10
推荐指数
1
解决办法
7291
查看次数

使用iTextSharp禁用扩展功能

我有一个PDF模板,其中包含启用了扩展功能的表单.使用iTextSharp填写此表单的字段后,使用acrobat reader的用户会收到错误消息:

本文档在Adobe Reader中启用了扩展功能.该文档自创建以来已更改,并且不再使用扩展功能.请联系作者以获取本文档的原始版本.

我google了一下,但所有的帖子都谈到了"启用"扩展功能,但是,我希望表单字段保持禁用状态关闭扩展功能

这是我正在使用的示例代码:

using (var existingFileStream = new FileStream(fileNameExisting, FileMode.Open))
using (var newFileStream = new FileStream(fileNameNew, FileMode.Create))
{
    // Open existing PDF
    var pdfReader = new PdfReader(existingFileStream);

    // PdfStamper, which will create
    var stamper = new PdfStamper(pdfReader, newFileStream);

    var form = stamper.AcroFields;

    var fieldKeys = form.Fields.Keys;

    foreach (string fieldKey in fieldKeys)
    {
        if (fieldKey.Equals("Retailer Name"))
            form.SetField(fieldKey, retailerName);
    }
    // “Flatten” the form so it wont be editable/usable anymore
    stamper.FormFlattening = true; …
Run Code Online (Sandbox Code Playgroud)

c# itextsharp

10
推荐指数
1
解决办法
5321
查看次数

如何创建一个iTextSharp.text.Image对象startng到System.Drawing.Bitmap对象?

我是iTextSharp(iText的C#版本)的新手:

我有这样的事情:

System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)ChartHelper.GetPdfChart((int)currentVuln.UrgencyRating * 10);

iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(bitmap);

vulnerabilityDetailsTable.AddCell(new PdfPCell(img) { Border = PdfPCell.RIGHT_BORDER, BorderColor = new BaseColor(79, 129, 189), BorderWidth = 1, Padding = 5, MinimumHeight = 30, PaddingTop = 10 });  
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我有经典的System.Drawing.Bitmap immage命名为bitmap,我希望将它放在PDF文档表的单元格中.

问题是此行被签名为错误:

iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(bitmap);
Run Code Online (Sandbox Code Playgroud)

错误是:

错误75'iTextSharp.text.Image.GetInstance(iTextSharp.text.Image)'的最佳重载方法匹配有一些无效的参数c:\ Develop\EarlyWarning\public\Implementazione\Ver2\PdfReport\PdfVulnerability.cs 120 27 PdfReport

所以我认为我需要从经典的System.Drawing.Bitmap对象中获取iTextSharp.text.Image对象.

我该怎么办呢?我疯狂地试图去做.

TNX

c# pdf pdf-generation itext itextsharp

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

生成PDF时无法获取捷克语字符

在生成PDF时添加"Č"或"Ć"等字符时出现问题.我主要使用段落在我的PDF报告中插入一些静态文本.这是我使用的一些示例代码:

var document = new Document();
document.Open();
Paragraph p1 = new Paragraph("Testing of letters ?,?,Š,Ž,?", new Font(Font.FontFamily.HELVETICA, 10));
document.Add(p1);
Run Code Online (Sandbox Code Playgroud)

生成PDF文件时得到的输出如下所示:"测试字母,Š,Ž,Đ"

出于某种原因,iTextSharp似乎不会识别这些字母,例如"Č"和"Ć".

c# pdf asp.net unicode itextsharp

10
推荐指数
1
解决办法
7177
查看次数

错误:值不能为空

我正在尝试使用FreeSpire将安全的PDF转换为XPS并返回PDF,然后使用iTextSharp将它们组合在一起.下面是我转换各种文件的代码段.

char[] delimiter = { '\\' };
string WorkDir = @"C:\Users\rwong\Desktop\PDF\Test";
Directory.SetCurrentDirectory(WorkDir);
string[] SubWorkDir = Directory.GetDirectories(WorkDir);
//convert items to PDF
foreach (string subdir in SubWorkDir)
{
    string[] Loan_list = Directory.GetFiles(subdir);
    for (int f = 0; f < Loan_list.Length - 1; f++)
    {
        if (Loan_list[f].EndsWith(".doc") || Loan_list[f].EndsWith(".DOC"))
        {
            Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
            doc.LoadFromFile(Loan_list[f], FileFormat.DOC);
            doc.SaveToFile((Path.ChangeExtension(Loan_list[f],".pdf")), FileFormat.PDF);
            doc.Close();
        }
        . //other extension cases
        .
        .
        else if (Loan_list[f].EndsWith(".pdf") || Loan_list[f].EndsWith(".PDF"))
         {
             PdfReader reader = new PdfReader(Loan_list[f]);
             bool PDFCheck = reader.IsOpenedWithFullPermissions;
             reader.Close(); …
Run Code Online (Sandbox Code Playgroud)

c# pdf-generation xpsdocument itextsharp spire.doc

10
推荐指数
1
解决办法
1361
查看次数

如何枚举ITextSharp中PDF文件中的所有字段

假设我使用iTextSharp加载了一个PDF文件:

PdfStamper p = GetDocument();
AcroFields af = ps.AcroFields;
Run Code Online (Sandbox Code Playgroud)

如何从文档中获取所有字段名称的列表af

c# pdf itextsharp

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

itextsharp修剪pdf文档的页面

我有一个pdf文档,其中包含我用c#以编程方式填写的表单字段.根据三个条件,我需要修剪(删除)该文档中的某些页面.

这可能吗?

条件1:我需要保留第1-4页,但删除第5页和第6页

对于条件2:我需要保留第1-4页但删除5并保持6

对于条件3:我需要保留1-5页但删除6

.net c# itextsharp

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

如何在PDF文件中添加水印?

我正在使用C#和iTextSharp为我的PDF文件添加水印:

Document document = new Document();
PdfReader pdfReader = new PdfReader(strFileLocation);
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(strFileLocationOut, FileMode.Create, FileAccess.Write, FileShare.None));
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(WatermarkLocation);
img.SetAbsolutePosition(100, 300);
PdfContentByte waterMark;
//    
for (int pageIndex = 1; pageIndex <= pdfReader.NumberOfPages; pageIndex++)
{
    waterMark = pdfStamper.GetOverContent(pageIndex);
    waterMark.AddImage(img);
}
//
pdfStamper.FormFlattening = true;
pdfStamper.Close();
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我的问题是,在一些PDF文件中没有添加水印虽然文件大小增加,任何想法?

c# itextsharp

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