【问题标题】:Multiple Templates on same page同一页面上的多个模板
【发布时间】:2015-03-31 15:09:42
【问题描述】:

我正在为同一个客户创建各种各样的可变数据语句 (90+)。我们每个工作日打印 10K 左右的每份报表。有些语句在页面的左上角有一个特定的标志,有些则故意省略了这个。有些语句在底部附近有图像和/或文字,有些则故意没有。这些以及许多其他内容都是在每个语句中添加/省略的。

我不确定这是否可能,但是否可以将 PDF 相互“分层”?如果是这样,我想我可以根据每个语句的需要添加“层”。然后生成的“分层”PDF 将成为我的基础文档,然后我可以继续向其中添加数据。

否则我想我需要为每个潜在场景创建一个 PDF。

(顺便说一句,我曾尝试有条件地将这些项目直接添加为图像,但这会减慢速度。)

编辑 我曾尝试使用此代码,但最终输出仅显示添加的最后一个模板。

string[] templates = new string[]{
            pdfTemplate
            ,thingsTemplate
        };

        using (FileStream filestream = new FileStream(finalTemplate, FileMode.OpenOrCreate, FileAccess.Write))
        using (iTextSharp.text.Document document = new iTextSharp.text.Document(PageSize.LETTER))
        using (PdfWriter writer = PdfWriter.GetInstance(document, filestream))
        {
            document.Open();
            PdfContentByte cb = writer.DirectContent;
            PdfImportedPage page;
            for (int i = 0; i < templates.Length; i++)
            {
                page = writer.GetImportedPage(new PdfReader(templates[i]), 1);
                cb.AddTemplate(page, 1f, 0, 0, 1, 0, 0);
            }
            document.Close();
        } 

【问题讨论】:

    标签: c# pdf itextsharp


    【解决方案1】:

    是的,可以将不同的 PDF 叠加在一起。

    查看Layers 示例。我们有一个包含 4 个页面的文件:layers_orig.pdf,然后我们将这 4 个页面添加到一个页面中:layers.pdf

    嗯,不完全是您添加它们的方式,但您所描述的称为superimposing,而Stationery 示例或多或少是按照您的要求进行的。

    我们创建了一个 PDF,但在创建它时,我们添加了一些公司文具。这是文具:stationery.pdf。这是最终结果:text_on_stationery.pdf

    您可以在此过程中添加任意数量的信纸模板。

    【讨论】:

    • 对为什么我没有得到想要的结果有什么想法吗?
    • 如果更改添加模板的顺序会发生什么?也许您以不透明的方式制作模板。在这种情况下,您将添加所有模板,但最后一个模板涵盖了前面的所有模板。
    • 当我更改模板的顺序时,我会显示不同的模板。我认为你的想法是我的问题。如何使模板不透明?
    • 你的问题是错误的。不是“如何使模板不透明?” 问题是:“如何避免模板不透明?” 要回答这个问题,我们应该知道如何您目前正在制作模板。我的猜测是您正在创建整个页面都是光栅图像的页面。您应该改用数字生成的 PDF。您使用哪个工具来创建模板?
    • 我们的客户使用 Microsoft Word 创建了它们。他们为我们提供了 Microsoft Word 版本和 Word 生成的 PDF。
    猜你喜欢
    • 2010-12-20
    • 2015-08-13
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 2016-09-05
    • 1970-01-01
    • 2011-05-17
    相关资源
    最近更新 更多