标签: itextsharp

Html to pdf一些字符丢失(itextsharp)

我想使用itextsharp库将gridview导出为pdf.问题是在pdf文档中缺少一些土耳其字符,如İ,ı,Ş,ş等.用于导出pdf的代码是:

 protected void LinkButtonPdf_Click(object sender, EventArgs e)
    {
        Response.ContentType = "application/pdf";
        Response.ContentEncoding = System.Text.Encoding.UTF8;
        Response.AddHeader("content-disposition", "attachment;filename=FileName.pdf");
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        System.IO.StringWriter stringWrite = new StringWriter();
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
        GridView1.RenderControl(htmlWrite);
        StringReader reader = new StringReader(textConvert(stringWrite.ToString()));
        Document doc = new Document(PageSize.A4);
        HTMLWorker parser = new HTMLWorker(doc);
        PdfWriter.GetInstance(doc, Response.OutputStream);
        doc.Open();
        parser.Parse(reader);
        doc.Close();
    }
    public static string textConvert(string S)
    {
        if (S == null) { return null; }
        try
        {
            System.Text.Encoding encFrom = System.Text.Encoding.UTF8;
            System.Text.Encoding encTo = System.Text.Encoding.UTF8;
            string str = S;
            Byte[] b = …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net pdf-generation itextsharp

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

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

如何枚举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中旋转文本/垂直文本

我需要垂直文本或只是在ITextSharp中旋转ColumnText的方法.

(它需要绝对的位置)

直到现在我已经尝试了很多不同的解决方案,但没有运气.

这是几次尝试:

1.

_cb.SetFontAndSize(BaseFont.CreateFont(), 12f);
_cb.ShowTextAligned(Element.ALIGN_CENTER, "Hello World", 50, 50, 90);
Run Code Online (Sandbox Code Playgroud)

2.

var vt =  new VerticalText(_cb);
vt.SetVerticalLayout(50, 50, 400, 8, 30);            
vt.AddText(new Chunk("asdasd",_sf.ChildBackPageTextOneFont()));
vt.Go();
Run Code Online (Sandbox Code Playgroud)

3.

System.Drawing.Drawing2D.Matrix foo = new System.Drawing.Drawing2D.Matrix();
foo.Rotate(90);
_cb.ConcatCTM(foo);
Run Code Online (Sandbox Code Playgroud)

我也尝试用System.Drawing.Graphics绘制它,但质量非常差.

有解决方案吗 谢谢.

c# itextsharp

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

如何保存已编辑的pdf?

我想保存一个经过编辑的pdf模板.我怎么做?

using (MemoryStream ms = new MemoryStream())  
{    
    PdfReader reader = new PdfReader("~/Content/Documents/Agreement.pdf");
    PdfStamper formFiller = new PdfStamper(reader, ms);
    AcroFields formFields = formFiller.AcroFields;
    formFields.SetField("Name", formData.Name);
    formFields.SetField("Location", formData.Address);
    formFields.SetField("Date", DateTime.Today.ToShortDateString());
    formFields.SetField("Email", formData.Email);
    formFiller.FormFlattening = true;
    formFiller.Close();
}
Run Code Online (Sandbox Code Playgroud)

.net c# pdf asp.net itextsharp

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

itextsharp修剪pdf文档的页面

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

这可能吗?

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

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

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

.net c# itextsharp

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

如何使用Windows Cert Store中的证书签署PDF文档?

我需要使用Windows证书库中存在的证书来签署PDF文档.我一直在周围挖了一整天试图弄明白,我那么近那么远.

所有缺少的是:如何获取IExternalSignature对象来签署PDF文件?

Rahul Singla写了一个很好的例子,说明如何使用新的iText 5.3.0 API签署PDF文档 - 只要你可以在某个地方访问PC上的.pfx文件.

一个关于使用Windows证书存储区中的证书进行签名的问题,除了它使用的API版本SetCrypto仍然存在,并且签名显然是可选的.在iText 5.3.0中,API已经改变,SetCrypto不再是一件事.

这是我到目前为止所做的评论(为后代添加评论,因为这可能是如何在'网上)执行此操作的最完整和最新版本:

using iTextSharp.text.pdf;
using iTextSharp.text.pdf.security;
using BcX509 = Org.BouncyCastle.X509;
using Org.BouncyCastle.Pkcs;
using Org.BouncyCastle.Crypto;
using DotNetUtils = Org.BouncyCastle.Security.DotNetUtilities;

...

// Set up the PDF IO
PdfReader reader = new PdfReader(@"some\dir\SomeTemplate.pdf");
PdfStamper stamper = PdfStamper.CreateSignature(reader,
    new FileStream(@"some\dir\SignedPdf.pdf", FileMode.Create), '\0');
PdfSignatureAppearance sap = stamper.SignatureAppearance;

sap.Reason = "For no apparent raisin";
sap.Location = "...";

// Acquire certificate chain
var …
Run Code Online (Sandbox Code Playgroud)

c# pdf signing certificate itextsharp

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

如何在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万
查看次数

如何获取PDF页面宽度和高度?

我有一个pdf,我想使用iTextSharp获取pdf中每页的宽度和高度?

鉴于这是我想要使用的pdf

string source=@"D:\pdf\test.pdf";
PdfReader reader = new PdfReader(source); 
Run Code Online (Sandbox Code Playgroud)

c# pdf itextsharp

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

如何使用所有者密码解密PDF文档?

我需要能够从某些PDF文档中删除安全性/加密,最好使用itextsharp库.过去,这是可能的(如何通过提供文件使用C#参数的密码解密一个pdf文件?),但最近的变化到库意味着解决方案不再起作用.

我知道这可以通过Aspose PDF库(示例)完成,但这似乎是一个昂贵的选择.

编辑

所以这一次我以为我拥有我用来测试这个文档的所有者密码.但实际上我的密码是用户密码.的原因,我认为这是所有者密码,是因为它作为所有者的密码和其他值没有工作.我相信用户密码代替用户密码的原因是该PdfReader.unethicalreading字段被设置为true(它是一个碰巧在代码中的其他地方设置的全局标志).

c# pdf encryption itextsharp

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