Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用XML和iTextSharp在PDF文档中创建表?_C#_Xml_Pdf_Itextsharp_Itext - Fatal编程技术网

C# 如何使用XML和iTextSharp在PDF文档中创建表?

C# 如何使用XML和iTextSharp在PDF文档中创建表?,c#,xml,pdf,itextsharp,itext,C#,Xml,Pdf,Itextsharp,Itext,我对使用iTextSharp在带有XML的PDF文档中创建表感兴趣。我买不起这本书,在网上也找不到任何例子。我还需要能够使单元格跨越并避免在中间的分页。我宁愿表格被送到下一页 这就是我一直遵循的例子: 有人知道如何做到这一点,或者可以告诉我一些教程吗 谢谢如果您使用的是iTextSharp 4.x,那么您可以继续使用ITextHandler解析特定于iText的XML。据我所知,此功能已从5.x版本中删除,因此很遗憾,您将很难找到对它的支持。下面是iTextXML的DTD,希望这会有所帮助 我不

我对使用iTextSharp在带有XML的PDF文档中创建表感兴趣。我买不起这本书,在网上也找不到任何例子。我还需要能够使单元格跨越并避免在中间的分页。我宁愿表格被送到下一页

这就是我一直遵循的例子:

有人知道如何做到这一点,或者可以告诉我一些教程吗


谢谢

如果您使用的是iTextSharp 4.x,那么您可以继续使用
ITextHandler
解析特定于iText的XML。据我所知,此功能已从5.x版本中删除,因此很遗憾,您将很难找到对它的支持。下面是iTextXML的DTD,希望这会有所帮助

我不能说为什么要删除它,但我可以猜测,这与这样一个事实有关,即如果您可以编写XML,也可以只编写常规代码。此外,在为您的库维护元语言(XML)的同时构建和维护PDF库是一件非常麻烦的事情。要知道这一点,我个人建议跳过XML,只使用本机iTextSharp库

<!--
    This DTD can be used to validate the output of XmlWriter.
    XmlWriter is part of the iText library by lowagie.com

    For further information, see: http://www.lowagie.com/iText/

    Copyright 2001 by Bruno Lowagie
    All Rights Reserved.
-->

<!ENTITY % chunk.content "#PCDATA | newline | newpage | entity | ignore">
<!ENTITY % phrase.content "chunk | anchor | phrase | list | table | annotation">

<!ENTITY % color.attributes
"red      CDATA   #IMPLIED
 green    CDATA   #IMPLIED
 blue     CDATA   #IMPLIED"
>
<!ENTITY % font.attributes
"font     CDATA   #IMPLIED
 size     CDATA   #IMPLIED
 style    CDATA   #IMPLIED
 color    CDATA   #IMPLIED
 %color.attributes;"
>
<!ENTITY % phrase.attributes
"leading  CDATA   #IMPLIED"
>
<!ENTITY % paragraph.attributes
"align    CDATA   #IMPLIED"
>
<!ENTITY % indentation.attributes
"indentationleft    CDATA   #IMPLIED
 indentationright   CDATA   #IMPLIED"
>
<!ENTITY % section.attributes
"depth              CDATA   #IMPLIED
 numberdepth        CDATA   #IMPLIED
 indent             CDATA   #IMPLIED"
>
<!ENTITY % rectangle.attributes
"bgred              CDATA   #IMPLIED
 bggreen            CDATA   #IMPLIED
 bgblue             CDATA   #IMPLIED
 width              CDATA   #IMPLIED
 bordercolor        CDATA   #IMPLIED
 backgroundcolor    CDATA   #IMPLIED
 left               CDATA   #IMPLIED
 right              CDATA   #IMPLIED
 top                CDATA   #IMPLIED
 bottom             CDATA   #IMPLIED
 borderwidth        CDATA   #IMPLIED
 grayfill           CDATA   #IMPLIED"
>

<!ELEMENT itext (%chunk.content; | %phrase.content; | chapter | paragraph)*>
<!ATTLIST itext
    title       CDATA   #IMPLIED
    subject     CDATA   #IMPLIED
    keywords    CDATA   #IMPLIED
    author      CDATA   #IMPLIED
>

<!ELEMENT symbol EMPTY>
<!ATTLIST symbol
    id      CDATA #REQUIRED
>

<!ELEMENT chunk (%chunk.content;)*> 
<!ATTLIST chunk
    %font.attributes;
    subsupscript        CDATA   #IMPLIED
    localgoto           CDATA   #IMPLIED
    localdestination    CDATA   #IMPLIED
    generictag          CDATA   #IMPLIED
>

<!ELEMENT phrase (%chunk.content; | %phrase.content;)*> 
<!ATTLIST phrase
    %font.attributes;
    %phrase.attributes;
>

<!ELEMENT anchor (%chunk.content; | %phrase.content;)*> 
<!ATTLIST anchor
%font.attributes;
    %phrase.attributes;
    name       CDATA   #IMPLIED
    reference  CDATA   #IMPLIED
>

<!ELEMENT paragraph (%chunk.content; | %phrase.content; | image)*> 
<!ATTLIST paragraph
    %font.attributes;
    %phrase.attributes;
    %indentation.attributes;
    %paragraph.attributes;
>

<!ELEMENT list (listitem | ignore)*> 
<!ATTLIST list
    %font.attributes;
    %indentation.attributes;
    numbered       CDATA   #IMPLIED
    symbolindent   CDATA   #IMPLIED
    first          CDATA   #IMPLIED
    listsymbol     CDATA   #IMPLIED
>

<!ELEMENT listitem (%chunk.content; | %phrase.content; | image)*> 
<!ATTLIST listitem
    %font.attributes;
    %phrase.attributes;
    %indentation.attributes;
    %paragraph.attributes;
>

<!ELEMENT chapter (title?, sectioncontent) >
<!ATTLIST chapter
    %section.attributes;
    %indentation.attributes;
>

<!ELEMENT section (title?, sectioncontent) >
<!ATTLIST section
    %section.attributes;
    %indentation.attributes;
>

<!ELEMENT title (%chunk.content; | phrase | chunk | annotation)*> 
<!ATTLIST title
    %font.attributes;
    %phrase.attributes;
    %indentation.attributes;
    %paragraph.attributes;
>

<!ELEMENT sectioncontent (%chunk.content; | %phrase.content; | section | paragraph | image)*>

<!ELEMENT table (cell*)>
<!ATTLIST table
    %color.attributes;
    %paragraph.attributes;
    %rectangle.attributes;
    columns        CDATA   #IMPLIED
    lastHeaderRow  CDATA   #IMPLIED
    cellpadding    CDATA   #IMPLIED
    cellspacing    CDATA   #IMPLIED
    widths         CDATA   #IMPLIED
>

<!ELEMENT row (cell*)>
<!ELEMENT cell (%chunk.content; | %phrase.content; | paragraph | image)*>
<!ATTLIST cell
    %color.attributes;
    %phrase.attributes;
    %indentation.attributes;
    %rectangle.attributes;
    colspan    CDATA   #IMPLIED
    rowspan    CDATA   #IMPLIED
    header     CDATA   #IMPLIED
    nowrap     CDATA   #IMPLIED
>

<!ELEMENT image EMPTY>
<!ATTLIST image
    url             CDATA   #REQUIRED
    align           CDATA   #IMPLIED
    underlying      CDATA   #IMPLIED
    textwrap        CDATA   #IMPLIED
    alt             CDATA   #IMPLIED
    absolutex       CDATA   #IMPLIED
    absolutey       CDATA   #IMPLIED
    plainwidth      CDATA   #IMPLIED
    plainheight     CDATA   #IMPLIED
    rotation        CDATA   #IMPLIED
>

<!ELEMENT annotation EMPTY>
<!ATTLIST annotation
    title       CDATA   #IMPLIED
    content     CDATA   #IMPLIED
>

<!ELEMENT newpage EMPTY>
<!ELEMENT newline EMPTY>