每次迭代或遍历文档列表时如何创建新的PDF文件?

少年林克

我是创建PDF的新手,并且遵循现有代码创建pdf文件。我正在通过创建新的pdf修改现有代码。

从文档列表中,我遍历每个文档并为其赋予新的名称。

每次迭代或遍历文档列表时如何创建新的PDF文件?

resultCollection-获得文档列表

currentCompanySegmentsSetings-具有详细信息的对象

creationTableOfContent-表内容

我尝试过的

foreach (var item in resultCollection)
                {
                    var guidID = Guid.NewGuid().ToString();
                    var newFileName = $"{currentCompanySegmentsSetings.FriendlySegmentName}-{Translator.TranslateDocumentType("invoice", currentCompanySegmentsSetings).ToLower()}-{guidID}-{message.documents.First().AccountNumber}.pdf";
                    outputFileNames.Add(newFileName);

                    //Create PDF's and send to the location
                    System.IO.Directory.CreateDirectory(currentOutputDirectory);
                    var firstDocsMetadata = resultCollection.First().MetaData;
                    string generatedPDFLocation = System.IO.Path.Combine(currentOutputDirectory, newFileName);

                    var file = DocumentsToPDFDocs(financialDocument);
                    PdfDocument pdfDoc = new PdfDocument(new PdfWriter(generatedPDFLocation, CreateEncryptionWriteProperties()));
                    Document doc = new Document(pdfDoc);

                    //Bookmarks 
                    pdfDoc.GetCatalog().SetPageMode(PdfName.UseOutlines);
                    doc.SetMargins(22f, 22f, 22f, 22f);
                    doc.SetFontSize(8);
                    doc.SetFontColor(Color.BLACK);

                    //1.Create table of contents 
                    var tableOfContentTopMargin = 176;
                    Table tableOfContent = creatingTableOfContent(file, currentCompanySegmentsSetings);
                    tableOfContent.SetDestination("p" + "index");
                    doc.Add(tableOfContent.SetMarginTop(tableOfContentTopMargin));

                    //How do i continue from here to create pdf to the directory

                    message.FinancialDocumentAttachments.Add(new MessageQueueAttachment()
                    {
                        Location = documentPath,
                        IsNew = true,
                        Id = Guid.NewGuid()
                    });
                }
ens

我假设你要创建每个单独的PDF文件itemresultCollection

您已经为每个文件生成了文件名:

var newFileName = ...
string generatedPDFLocation = System.IO.Path.Combine(currentOutputDirectory, newFileName);

然后创建一个新实例,PdfDocument并将Document其写入具有该文件名的文件中:

PdfDocument pdfDoc = new PdfDocument(new PdfWriter(generatedPDFLocation,
    CreateEncryptionWriteProperties()));
Document doc = new Document(pdfDoc);

然后只需将内容添加到Document实例(或PdfDocument)。我认为内容在itemresultCollection以某种方式包含在其中

doc.add(new Paragraph("content for this document"));

最后,关闭文档,将PDF文件刷新到磁盘。

doc.close();

foreach循环的下一次迭代将生成不同的文件名,因此下一个文档将被写入不同的文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为循环的每次迭代创建一个新列表

来自分类Dev

如何遍历 R 数据框中的列并在每次迭代中使用列名创建新数据框?

来自分类Dev

如何使用pathlib.Path()。glob()遍历目录并在每次迭代中读入2个文件

来自分类Dev

每次调用函数时如何动态创建新数组?

来自分类Dev

如何在每次循环时创建新列表,并在向其添加元素后重复循环?

来自分类Dev

每次在Django中调用clean时,创建和遍历“坏”值列表的替代方法?

来自分类Dev

循环遍历元组列表时的迭代问题

来自分类Dev

遍历列表时创建后缀

来自分类Dev

如何在循环的每次迭代中使用for循环创建新的数据帧?

来自分类Dev

如何在每次循环迭代中创建一个新的 JSON 对象

来自分类Dev

遍历字典列表并创建新的字典列表

来自分类Dev

遍历列表以增加“ x”并创建新列表

来自分类Dev

从GIF文件创建时如何压缩PDF?

来自分类Dev

在 Python 中循环遍历列表,增加值的同时也在每次迭代中遍历列表

来自分类Dev

我如何将此项目附加到同一列表,而不是每次循环时都创建一个新列表?

来自分类Dev

当所有文档中使用相同的图像文件时,FPDF无法创建多个PDF文档

来自分类Dev

在每次迭代中创建一个新变量

来自分类Dev

如何在每次循环迭代时在不同的输出文件上写入?(Perl)

来自分类Dev

遍历列表列表以创建新的列表列表

来自分类Dev

从顶点列表创建新的遍历对象

来自分类Dev

遍历两个列表时,如何在一次迭代后停止内部循环?

来自分类Dev

在每次迭代时打印,因此输出在列表元素之间

来自分类Dev

如何遍历列表,并在迭代时遍历另一个列表,并使用内部列表键值对替换上层列表的值

来自分类Dev

Data.Vector.modify在每次迭代时创建矢量副本

来自分类Dev

Data.Vector.modify在每次迭代时创建矢量副本

来自分类Dev

rmarkdown:编织 pdf 文档时的新行为

来自分类Dev

在切片上进行迭代时避免创建新列表的Python方式?

来自分类Dev

蟒蛇:列表追加-每次创建一个新列表?

来自分类Dev

在创建新的列Matlab时遍历列

Related 相关文章

  1. 1

    为循环的每次迭代创建一个新列表

  2. 2

    如何遍历 R 数据框中的列并在每次迭代中使用列名创建新数据框?

  3. 3

    如何使用pathlib.Path()。glob()遍历目录并在每次迭代中读入2个文件

  4. 4

    每次调用函数时如何动态创建新数组?

  5. 5

    如何在每次循环时创建新列表,并在向其添加元素后重复循环?

  6. 6

    每次在Django中调用clean时,创建和遍历“坏”值列表的替代方法?

  7. 7

    循环遍历元组列表时的迭代问题

  8. 8

    遍历列表时创建后缀

  9. 9

    如何在循环的每次迭代中使用for循环创建新的数据帧?

  10. 10

    如何在每次循环迭代中创建一个新的 JSON 对象

  11. 11

    遍历字典列表并创建新的字典列表

  12. 12

    遍历列表以增加“ x”并创建新列表

  13. 13

    从GIF文件创建时如何压缩PDF?

  14. 14

    在 Python 中循环遍历列表,增加值的同时也在每次迭代中遍历列表

  15. 15

    我如何将此项目附加到同一列表,而不是每次循环时都创建一个新列表?

  16. 16

    当所有文档中使用相同的图像文件时,FPDF无法创建多个PDF文档

  17. 17

    在每次迭代中创建一个新变量

  18. 18

    如何在每次循环迭代时在不同的输出文件上写入?(Perl)

  19. 19

    遍历列表列表以创建新的列表列表

  20. 20

    从顶点列表创建新的遍历对象

  21. 21

    遍历两个列表时,如何在一次迭代后停止内部循环?

  22. 22

    在每次迭代时打印,因此输出在列表元素之间

  23. 23

    如何遍历列表,并在迭代时遍历另一个列表,并使用内部列表键值对替换上层列表的值

  24. 24

    Data.Vector.modify在每次迭代时创建矢量副本

  25. 25

    Data.Vector.modify在每次迭代时创建矢量副本

  26. 26

    rmarkdown:编织 pdf 文档时的新行为

  27. 27

    在切片上进行迭代时避免创建新列表的Python方式?

  28. 28

    蟒蛇:列表追加-每次创建一个新列表?

  29. 29

    在创建新的列Matlab时遍历列

热门标签

归档