PDF:如何在表格单元格内使用 PDFFormattedContent 绘制格式化内容

问题描述 投票:0回答:1

我正在使用 PDF4Net 库构建 PDF 文档,我的文档应该并排呈现不同的文本内容,我使用

PDFFLowDocument
类来构建和设计页面,我使用
PDFFlowTable
来组织我的内容。我的内容内置在两个单独的
PDFFormattedContent
中。我引入了一个表格将内容分成几列,我得到类似的东西,

PDFFormattedContent content1 = new PDFFormattedContent()
PDFFormattedContent content2 = new PDFFormattedContent()

PDFFLowTable MyTable = new PDFFlowTable();
Mytable.Rows.AddRowWithCells(content1, content2)

这很好,但我面临的问题是,我可以使用有限类型的单元格来操纵我在屏幕上呈现的 FormattedContent 的方式。 到目前为止,我发现的只是

PDFLowTableStringCell
,它不能重现我的
PDFFormattedContent
的格式,我得到的只是文本,没有字体、颜色、行距等。我理想情况下希望能够调用
DrawFormattedContent
在表格单元格内部,以便我的所有设计都能正确呈现。有办法做到吗??

c# pdf
1个回答
0
投票

如果您将 PDFFormattedTextBlock 添加到 PDFFormattedContent,您就可以访问可以设置的 .TextColor。

我也刚刚开始使用 Pdf4Net,还没有尝试将其添加到 PDFFlowTable,但是当我将其直接添加到 PDFFlowDocument(下面的代码片段中的 pdf)时,它会起作用

PDFStandardFont fontHeader = new PDFStandardFont(PDFStandardFontFace.Helvetica, 24);
    fontHeader.Bold = true;
    
    PDFStandardFont fontSmaller = new PDFStandardFont(PDFStandardFontFace.Helvetica, 12);
    
    PDFFormattedContent formatted = new PDFFormattedContent();
    PDFFormattedTextBlock textBlock = new PDFFormattedTextBlock("Overskrift", fontHeader);
    textBlock.TextColor = new PDFBrush(new PDFRgbColor(0, 0, 255));
    
    
    formatted.Paragraphs.Add(textBlock);
    formatted.Paragraphs.Add(new PDFFormattedTextBlock("subskrift", fontSmaller));
    
    PDFFlowTextContent textContent = new PDFFlowTextContent(formatted);
    //textContent.Background = new PDFBrush(new PDFRgbColor(255, 0, 0));
                
    pdf.AddContent(textContent);

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.