0

我正在尝试使用 Spire.doc 在同一页面上的特定位置(x 和 y)上创建带有几个文本框(稍后将添加更多文本框)的 word 文档。但是这段代码正在生成两个页面。有什么帮助吗?

如果采用任何其他方式,则没有必要使用 Spire。请记住,我是编程新手,谢谢。

  string TEMPprocitano; 
    private void button1_Click(object sender, EventArgs e)
    {
        citanjeReda();
    }
    public void citanjeReda()
    {
      if (openFileDialog1.ShowDialog() == DialogResult.OK)
              {
         int brojRedova=File.ReadLines(openFileDialog1.FileName).Count();
         StreamReader sr = new StreamReader(openFileDialog1.FileName);
                  for (int i = 0; i <= brojRedova; i++)
                  {
                      TEMPprocitano = sr.ReadLine();
                      f1(); f3(); 
                  }
                  sr.Close();
              }
    }
    public void f1()  //doc_pers_no 11
    {
        try
        {
            StringBuilder F1 = new StringBuilder(TEMPprocitano);
            F1.Remove(0, 22);
            F1.Remove(11, 698);
            MessageBox.Show(F1.ToString());

            //Create a Word document
            Document doc = new Document();
            Section section = doc.AddSection();
            Paragraph paragraph = section.AddParagraph();

            //Append a Textbox to paragraph
            Spire.Doc.Fields.TextBox tb = paragraph.AppendTextBox(170, 20);

            //Set the position of Textbox
            tb.Format.HorizontalOrigin = HorizontalOrigin.Page;
            tb.Format.HorizontalPosition = 150;
            tb.Format.VerticalOrigin = VerticalOrigin.Page;
            tb.Format.VerticalPosition = 50;

            CharacterFormat format = new CharacterFormat(doc);
            format.FontName = "Calibri";
            format.FontSize = 11;
            format.Bold = false;



            Paragraph par1 = tb.Body.AddParagraph();
            par1.AppendText(F1.ToString()).ApplyCharacterFormat(format);

            //Save to file
            doc.SaveToFile("job.docx", FileFormat.Docx);

        }    catch (Exception){}
    }
    public void f3()   // 32
    {
        try
        {
            StringBuilder F3 = new StringBuilder(TEMPprocitano);
            F3.Remove(0, 49);
            F3.Remove(32, 650);
            MessageBox.Show(F3.ToString());
            //Create a Word document

            Document doc = new Document();
            Section section = doc.AddSection();
            Paragraph paragraph = section.AddParagraph();

            //Append a Textbox to paragraph
            Spire.Doc.Fields.TextBox tb = paragraph.AppendTextBox(170, 20);

            //Set the position of Textbox
            tb.Format.HorizontalOrigin = HorizontalOrigin.Page;
            tb.Format.HorizontalPosition = 250;
            tb.Format.VerticalOrigin = VerticalOrigin.Page;
            tb.Format.VerticalPosition = 150;

            CharacterFormat format = new CharacterFormat(doc);
            format.FontName = "Calibri";
            format.FontSize = 11;
            format.Bold = false;



            Paragraph par1 = tb.Body.AddParagraph();
            par1.AppendText(F3.ToString()).ApplyCharacterFormat(format);

            //Save to file
            doc.SaveToFile("job.docx", FileFormat.Docx);


        }    catch (Exception) { }
4

1 回答 1

0
string TEMPprocitano; 
private void button1_Click(object sender, EventArgs e)
{
    citanjeReda();
}
public void citanjeReda()
{
  if (openFileDialog1.ShowDialog() == DialogResult.OK)
          {
     int brojRedova=File.ReadLines(openFileDialog1.FileName).Count();
     StreamReader sr = new StreamReader(openFileDialog1.FileName);
              for (int i = 0; i <= brojRedova; i++)
              {
                  TEMPprocitano = sr.ReadLine();
                  f1();  
              }
              sr.Close();
          }
}
public void f1()  //doc_pers_no 11
{
    try
    {
        StringBuilder F1 = new StringBuilder(TEMPprocitano);
        F1.Remove(0, 22);
        F1.Remove(11, 698);
        MessageBox.Show(F1.ToString());

        //Create a Word document
        Document doc = new Document();
        Section section = doc.AddSection();
        Paragraph paragraph = section.AddParagraph();

        //Append a Textbox to paragraph
        Spire.Doc.Fields.TextBox tb = paragraph.AppendTextBox(170, 20);

        //Set the position of Textbox
        tb.Format.HorizontalOrigin = HorizontalOrigin.Page;
        tb.Format.HorizontalPosition = 150;
        tb.Format.VerticalOrigin = VerticalOrigin.Page;
        tb.Format.VerticalPosition = 50;
        tb.Format.NoLine = true;

        CharacterFormat format = new CharacterFormat(doc);
        format.FontName = "Calibri";
        format.FontSize = 11;
        format.Bold = false;



        Paragraph par1 = tb.Body.AddParagraph();
        par1.AppendText(F1.ToString()).ApplyCharacterFormat(format);

          ////// for F3
       StringBuilder F3 = new StringBuilder(TEMPprocitano);
            F3.Remove(0, 49);
            F3.Remove(32, 650);
            MessageBox.Show(F3.ToString());

            //Append a Textbox to paragraph
            Spire.Doc.Fields.TextBox tb3 = paragraph.AppendTextBox(170, 20);

            //Set the position of Textbox
            tb3.Format.HorizontalOrigin = HorizontalOrigin.Page;
            tb3.Format.HorizontalPosition = 70;
            tb3.Format.VerticalOrigin = VerticalOrigin.Page;
            tb3.Format.VerticalPosition = 70;
            tb3.Format.NoLine = true;

            Paragraph par3 = tb3.Body.AddParagraph();
            par3.AppendText(F3.ToString()).ApplyCharacterFormat(format);

        //Save to file
        doc.SaveToFile("job.docx", FileFormat.Docx);

    }    catch (Exception){}
}
于 2017-07-30T16:24:15.963 回答