标签: itextsharp

从Web应用程序打印

如何从Web应用程序生成纸质打印?

具体来说,我正在考虑更复杂的纸质文件,如文凭,发票和合同.包含框架,表格,徽标和页眉/页脚的可变页数.

今天我使用自定义表单和CSS用于某些事情,iTextSharp用于其他人(我使用asp.net和MS-SQL),但我认为这两种方法都非常耗时且很难在不同文档中保持一致.

还有更好的方法吗?

printing asp.net web-applications itext itextsharp

8
推荐指数
1
解决办法
4708
查看次数

使用iTextSharp将JavaScript添加到PDF中时出现问题

我正在尝试将JavaScript嵌入到使用iTextSharp创建的pdf中,如果它是代码中显示的文件,它工作得非常好.

但是当我尝试将javascript部分嵌入到内存流中时,它无法正常工作.iTextSharp是否有任何限制?

Dim js As New StringBuilder
                Dim pdf As String = "c:\Print2Printer.pdf"
                Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(pdf, FileMode.Create))
                doc.Open()

                js.Append("var pp = this.getPrintParams();")
                js.Append("var iCopies = 2;")
                js.Append("pp.interactive = pp.constants.interactionLevel.silent;")
                js.Append("for ( var i = 0; i < 3; i++ ) { pp.firstPage = i; pp.lastPage = i;")
                js.Append("this.print(pp);")
                js.Append("}")
                Dim jaction As PdfAction = PdfAction.JavaScript(js.ToString(), writer)
                writer.AddJavaScript(jaction)

                doc.Add(New Paragraph(pdfString))
                doc.Close()
Run Code Online (Sandbox Code Playgroud)

javascript itextsharp

8
推荐指数
1
解决办法
4550
查看次数

iTextSharp + FileStream =损坏的PDF文件

我正在尝试使用iTextSharp创建一个pdf文件.我的尝试将pdf的内容写入MemoryStream,因此我可以将结果写入文件和数据库BLOB.创建文件,大小约为21kB,当使用Notepad ++打开时,它看起来像一个pdf.但是我的PDF查看器说它已经被破坏了.这是一个小代码片段(只尝试写入文件,而不是数据库):

Document myDocument = new Document();
MemoryStream myMemoryStream = new MemoryStream();
PdfWriter myPDFWriter = PdfWriter.GetInstance(myDocument, myMemoryStream);
myDocument.Open();
// Content of the pdf gets inserted here
using (FileStream fs = File.Create("D:\\...\\aTestFile.pdf"))
{
    myMemoryStream.WriteTo(fs);
}
myMemoryStream.Close();
Run Code Online (Sandbox Code Playgroud)

我犯的错误在哪里?

谢谢你,诺伯特

c# pdf memorystream filestream itextsharp

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

iTextSharp - 如何将PDFPRow添加到PDFPTable?

我想将一个PDFPCell数组添加到PDFPRow,然后将PDFPRow添加到PDFPTable,但我似乎无法在PDFPTable中找到这个方法.

但是有一个PDFPTable.AddCell

有任何想法吗?

c# itextsharp

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

ITextSharp PdfCopy使用示例

我正在尝试使用ItextSharp中PdfSmartCopy,但我在c#中找不到任何相关的例子.

我的意思是我有一个包含表单字段的pdf,并且这些字段增加了700kb到pdf文档的大小.没有表单字段的原始文档是100kb.欢迎任何其他sugestions,尤其是o一致地减少pdf大小.

(我使用adobe acrobat优化了生成的PDF,并将其减少到44kb.因此必须在某处出现故障.)有没有办法减少PDF大小?

编辑:FormFlatenning没有帮助.pdf模板文件仅包含文本,行和表,没有图像.

这是我的代码片段

        PdfReader reader = new PdfReader(GetTemplateBytes());
        pst = new PdfStamper(reader, Response.OutputStream);
        var acroFields = pst.AcroFields;

        pst.FormFlattening = true;
        pst.FreeTextFlattening = true;

        SetFieldsInternal(acroFields);

        pst.Close();
Run Code Online (Sandbox Code Playgroud)

c# asp.net pdf-generation itextsharp

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

在itextsharp中从模板创建pdf并输出为内容处置.

我想打开一个现有的pdf,添加一些文本然后使用itext sharp作为内容处理输出.我有以下代码.它落下的地方是我想输出内存流但需要filestream来打开原始文件.

这就是我所拥有的.显然,定义PdfWriter两次是行不通的.

   public static void Create(string path)
    {
        var Response = HttpContext.Current.Response;
        Response.Clear();
        Response.ContentType = "application/pdf";
        System.IO.MemoryStream m = new System.IO.MemoryStream();
        Document document = new Document();
        PdfWriter wri = PdfWriter.GetInstance(document, new FileStream(path, FileMode.Create));
        PdfWriter.GetInstance(document, m);
        document.Open();
        document.Add(new Paragraph(DateTime.Now.ToString()));
        document.NewPage();
        document.Add(new Paragraph("Hello World"));
        document.Close();
        Response.OutputStream.Write(m.GetBuffer(), 0, m.GetBuffer().Length);
        Response.OutputStream.Flush();
        Response.OutputStream.Close();
        Response.End();
    } 
Run Code Online (Sandbox Code Playgroud)

itextsharp

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

使用iTextSharp制作符合PDF/A的PDF文件,仅包含图像

我正在使用iTextSharp从图像生成pdf-a文档.到目前为止,我还没有成功.
编辑:我正在使用iTextSharp生成PDF

我所做的就是用一些图像制作一个pdf文件(1a或1b,无论适合什么).这是我到目前为止提出的代码,但是当我尝试使用pdf-toolsvalidatepdfa验证它们时,我一直遇到错误.

这是我从pdf-tools获得的错误(使用PDF/A-1b验证): 编辑:MarkInfo和Color Space尚未运行.剩下的还可以

Validating file "0.pdf" for conformance level pdfa-1a
The key MarkInfo is required but missing.
A device-specific color space (DeviceRGB) without an appropriate output intent is used.
The document does not conform to the requested standard.
The document contains device-specific color spaces.
The document doesn't provide appropriate logical structure information.
Done.
Run Code Online (Sandbox Code Playgroud)

主流

var output = new MemoryStream();
using (var iccProfileStream = new FileStream("ToPdfConverter/ColorProfiles/sRGB_v4_ICC_preference_displayclass.icc", FileMode.Open))
{
    var document = new Document(new Rectangle(PageSize.A4.Width, …
Run Code Online (Sandbox Code Playgroud)

.net c# pdf pdf-generation itextsharp

8
推荐指数
1
解决办法
5771
查看次数

将itextsharp PDF从纵向转换为横向模式

我有一个PDF生成代码,以前是以Portait模式下载的,后面的代码如下所示.

Document doc = new Document(PageSize.A4, 88f, 88f, 10f, 10f);
Run Code Online (Sandbox Code Playgroud)

这是正常的.

现在我需要将相同的PDF转换为横向模式,我用Google搜索并找到此代码.

Document doc = new Document(new Rectangle(288f, 144f), 10, 10, 10, 10);
doc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());
Run Code Online (Sandbox Code Playgroud)

但仍然以纵向模式显示.任何帮助赞赏.

c# pdf asp.net itextsharp

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

如何将带图像的段落添加到iTextSharp表格中的单元格?

我正在创建一个解析器,将Word文档转换为PDF,并在此过程中进行一些专门的处理.我选择使它成为一个递归解析器,以匹配OpenXml的结构.

我遇到了处理图像的一些问题.给定OpenXml的结构,图像始终是段落内的绘图元素.如果该段落直接在doc中,这样可以正常工作,基本上就是这样(对于这个例子来说,解开了递归):

using (var document = new Document(PageSize.A4))
{
    PdfWriter.GetInstance(document, new FileStream(path, FileMode.Create));
    document.Open();

    var paragraph = new Paragraph();

    var image = Image.GetInstance(@"C:\image1.jpg");

    paragraph.Add(image);
    document.Add(paragraph);

    document.Close();
}
Run Code Online (Sandbox Code Playgroud)

此代码正确地将图像插入到文档中.当图像在表格内时会出现问题,这在我们正在处理的文档中很常见.OpenXml结构最终会像这样结束:

DocumentBody => Table => Cell => Paragraph => Drawing

所以在iTextSharp术语中,映射到:

Document => Table => Cell => Paragraph => Image

将带有图像的段落直接添加到单元格会生成一个空的零高度表.如果我添加块到该段时的形象出现,但大幅调整(小) - 我想不出什么是大小调整的依据是:

using (var document = new Document(PageSize.A4))
{
    PdfWriter.GetInstance(document, new FileStream(path, FileMode.Create));
    document.Open();

    var paragraph = new Paragraph();

    var image = Image.GetInstance(@"C:\image1.jpg");

    paragraph.Add(new Chunk(image, 0, 0));

    var table = new PdfPTable(1); …
Run Code Online (Sandbox Code Playgroud)

c# itextsharp

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

是否可以使用itextSharp将PDF页面转换为图像?

您好我一直在使用itextSharp为dot.net中的所有pdf相关项目.我遇到了一个需要将PDF页面转换为图像的要求.我找不到任何这样的样品.我发现另一个工具ghostscript能够做到这个问题是我在共享主机上我不认为ghostscript将在服务器上运行,因为在我的本地机器我不得不手动将ghost脚本dll复制到system32文件夹在共享主机中是不可能的.

c# pdf asp.net itextsharp

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