Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.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# 使用iTextSharp和C在pdf上格式化文本控件#_C#_Itext - Fatal编程技术网

C# 使用iTextSharp和C在pdf上格式化文本控件#

C# 使用iTextSharp和C在pdf上格式化文本控件#,c#,itext,C#,Itext,我有一个pdf文档,我正在使用下面的代码填充所有值 using(MemoryStream ms = new MemoryStream()) { // Fill the PDF with the XFA using(PdfStamper stamper = new PdfStamper(oInPDF, ms)) { stamper.Writer.CloseStream = false; XfaForm.SetXfa(oXFA, stamper.Reader, stamp

我有一个pdf文档,我正在使用下面的代码填充所有值

using(MemoryStream ms = new MemoryStream())
{
  // Fill the PDF with the XFA
  using(PdfStamper stamper = new PdfStamper(oInPDF, ms))
  {
    stamper.Writer.CloseStream = false;
    XfaForm.SetXfa(oXFA, stamper.Reader, stamper.Writer);
 }

 // Code for Flatten the filled PDF.
}
XmlDocument newXMLDoc = new XmlDocument();
newXMLDoc.LoadXml(@"<border><edge thickness=""1.3mm""><color value=""0, 0, 255""/></edge></border>");

if (Rs.Rows.Count > 0)
 {
    foreach (DataRow query in Rs.Rows)
     {
        if(isRET)
          {
            if (oXFA.DomDocument.SelectSingleNode("//t:*[@name='" + Rs[0] + "']", oNameSpace) != null)
             {
                XmlNode newNode = 
oXFA.DomDocument.ImportNode(newXMLDoc.SelectSingleNode("border"), true);
oXFA.DomDocument.SelectSingleNode("//t:*[@name='" + Rs[0] + "']", oNameSpace).AppendChild(newNode);
             }
          }
     }
 }
我试图在显示的值周围绘制一个红色框,以在值不在预期范围内时高亮显示。 我想知道,如何使用iTextSharp和C#在pdf页面上定位控件的位置

任何关于这方面的帮助或信息,非常感谢


非常感谢。

终于用下面的代码在控件周围画出了边框

using(MemoryStream ms = new MemoryStream())
{
  // Fill the PDF with the XFA
  using(PdfStamper stamper = new PdfStamper(oInPDF, ms))
  {
    stamper.Writer.CloseStream = false;
    XfaForm.SetXfa(oXFA, stamper.Reader, stamper.Writer);
 }

 // Code for Flatten the filled PDF.
}
XmlDocument newXMLDoc = new XmlDocument();
newXMLDoc.LoadXml(@"<border><edge thickness=""1.3mm""><color value=""0, 0, 255""/></edge></border>");

if (Rs.Rows.Count > 0)
 {
    foreach (DataRow query in Rs.Rows)
     {
        if(isRET)
          {
            if (oXFA.DomDocument.SelectSingleNode("//t:*[@name='" + Rs[0] + "']", oNameSpace) != null)
             {
                XmlNode newNode = 
oXFA.DomDocument.ImportNode(newXMLDoc.SelectSingleNode("border"), true);
oXFA.DomDocument.SelectSingleNode("//t:*[@name='" + Rs[0] + "']", oNameSpace).AppendChild(newNode);
             }
          }
     }
 }
XmlDocument newXMLDoc=newxmldocument();
newXMLDoc.LoadXml(@“”);
如果(Rs.Rows.Count>0)
{
foreach(Rs.Rows中的数据行查询)
{
如果(isRET)
{
if(oXFA.DomDocument.SelectSingleNode(“//t:[@name=”“+Rs[0]+“]]”),oNameSpace)!=null)
{
XmlNode newNode=
oXFA.DomDocument.ImportNode(newXMLDoc.SelectSingleNode(“边框”),true);
DomDocument.SelectSingleNode(//t:[@name=”+Rs[0]+“]]”,oNameSpace.AppendChild(newNode);
}
}
}
}

您正在使用XFA表单。IText高级API仅为AcroForm表单提供表单编辑功能(以及对填写XFA表单的有限支持)。但是您已经使用了设置整个XFA定义的低级方法。因此,您只需相应地操作
oXFA