zxfreg 发表于 2019-3-13 11:36:17

导出pdf问题


两个单元格设置的都是左对齐,单元格内容一样,但是导出pdf的时候有以下问题:
1、前置的空格显示不一样;
2、自动换行格式也不一样;
3、单元格内容右边显示不对,留有大量空白;
这几个问题怎么处理?

dexteryao 发表于 2019-3-14 09:15:55

您好,前置空格不一样是因为两个单元格里一个用的空格,另一个用的 需要统一一下
第二个问题也是这个原因

            <Data type="System.String">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;依据JTG/T&amp;nbsp;F20-2015《公路路面基层施工技术细则》评定,该样品所检指标符合钙质Ⅱ级消石灰技术要求。</Data>
            <Tag type="System.String">1</Tag>
            </Cell>
            <Cell Row="20" Column="0">
            <Data type="System.String">备注</Data>
            </Cell>
            <Cell Row="20" Column="1">
            <Data type="System.String">    依据JTG/T F20-2015《公路路面基层施工技术细则》评定,该样品所检指标符合钙质Ⅱ级消石灰技术要求。</Data>
            </Cell>

3. 右边换行空白是根据字体量字的问题,这个是系统接口量的,暂时无法解决。

zxfreg 发表于 2019-3-14 12:37:14

dexteryao 发表于 2019-3-14 09:15
您好,前置空格不一样是因为两个单元格里一个用的空格,另一个用的&amp;nbsp;需要统一一下
第二个问题也是这 ...


这个用的是空格,为什么到T哪就换行了呢?

zxfreg 发表于 2019-3-14 12:43:43

dexteryao 发表于 2019-3-14 09:15
您好,前置空格不一样是因为两个单元格里一个用的空格,另一个用的&amp;nbsp;需要统一一下
第二个问题也是这 ...

单元格这个属性EncodeValue = false时怎么强制换行?
用<br>在表格里看着是换行了,但导出pdf时换行就没了,就显示<br>

dexteryao 发表于 2019-3-15 16:53:34

zxfreg 发表于 2019-3-14 12:37
这个用的是空格,为什么到T哪就换行了呢?

系统决定的,后面没有空格就当一整个“单词”了。

<br/>的问题确实没有好的办法,两者暂时无法兼得

dexteryao 发表于 2019-3-22 13:50:34

我这边设置了以下wrap,换行好了,最开头的空格要处理下。

            var ct = new FarPoint.Web.Spread.TextCellType();
            ct.AllowWrap = true;
            FpSpread1.ActiveSheetView.Cells.CellType = ct;

zxfreg 发表于 2019-3-22 15:02:59

dexteryao 发表于 2019-3-22 13:50
我这边设置了以下wrap,换行好了,最开头的空格要处理下。

你好,我这边试了一下,还是不行还是原样子, string jl = FpSpread1.Sheets.Cells.Text;
                //FpSpread1.Sheets.Cells.EncodeValue = false;
                jl = jl.Replace("&nbsp;&nbsp;&nbsp;&nbsp;", "&nbsp;&nbsp;");
                var ct = new FarPoint.Web.Spread.TextCellType();
                ct.AllowWrap = true;
                FpSpread1.Sheets.Cells.CellType = ct;
                FpSpread1.Sheets.Cells.Value = jl;

zxfreg 发表于 2019-3-22 15:37:04

dexteryao 发表于 2019-3-22 13:50
我这边设置了以下wrap,换行好了,最开头的空格要处理下。

你好,我这测试了一下,还是不行

代码如下:
string filepath = "";
      string dataDir = AppDomain.CurrentDomain.BaseDirectory;//
      filepath = dataDir + "bb.xml";
      bool v = FpSpread1.Open(filepath);
      string jl = FpSpread1.Sheets.Cells.Text;
      jl = jl.Replace("&nbsp;&nbsp;&nbsp;&nbsp;", "&nbsp;&nbsp;");
      var ct = new FarPoint.Web.Spread.TextCellType();
      ct.AllowWrap = true;
      FpSpread1.Sheets.Cells.CellType = ct;
      FpSpread1.Sheets.Cells.Text = jl;
      filepath = dataDir + "aa.pdf";   
      FpSpread1.SavePdf(filepath);

dexteryao 发表于 2019-3-22 16:38:58

你这个是PDF截图还是网页截图,我用你代码,导出的PDF,依据前面是两个中文字符的距离

dexteryao 发表于 2019-3-22 16:54:07


namespace Spread_Web_V12
{
    public partial class WebForm2 : System.Web.UI.Page
    {
      protected void Page_Load(object sender, EventArgs e)
      {

            if (this.IsPostBack) return;
            FpSpread1.Open(@"C:\Users\PBD\Desktop\aa (3).xml");

            string jl = FpSpread1.Sheets.Cells.Text;
            jl = jl.Replace("&nbsp;&nbsp;&nbsp;&nbsp;", "&nbsp;&nbsp;");
            var ct = new FarPoint.Web.Spread.TextCellType();
            ct.AllowWrap = true;
            FpSpread1.Sheets.Cells.CellType = ct;
            FpSpread1.Sheets.Cells.Text = jl;

            FpSpread1.SavePdf(@"C:\Users\PBD\Desktop\aaa.pdf");
      }
    }
}
页: [1] 2
查看完整版本: 导出pdf问题