代码之家  ›  专栏  ›  技术社区  ›  Superdooperhero

CSS为Netsuite高级PDF模板中的部分表头添加字母之间的额外间距

  •  1
  • Superdooperhero  · 技术社区  · 7 年前

    我在Netsuite高级PDF模板中有一个带有表格标题的html表格。出于某种原因,其中一个标题中的单词在字母之间有额外的间距,因此不需要打印

    Delivery
    Address
    

    它打印的标题

    D e l i v e r y
    Address
    

    标题的代码为:

    <table class="itemtable" style="width: 100%;"><!-- start items --><#list record.item as item><#if item_index==0>
    <thead>
      <tr>
        <th colspan="3">Delivery Address</th>
    

    word-break , letter-spacing 等但我找不到任何合适的方法来解决这个问题。

    有人知道为什么会这样吗?这不会发生在具有相同代码的html页面中,因此不确定为什么会发生在Netsuite中。

      table {
         font-size: 9pt;
         table-layout: fixed;
      }
      th {
          font-weight: bold;
          font-size: 8pt;
          vertical-align: middle;
          padding: 5px 6px 3px;
          background-color: #e3e3e3;
          color: #333333;
      }
      td {
          padding: 4px 6px;
      }
      td p { align:left }
      b {
          font-weight: bold;
          color: #333333;
      }
      table.header td {
          padding: 0;
          font-size: 10pt;
      }
      table.footer td {
          padding: 0;
          font-size: 8pt;
      }
      table.itemtable th {
          padding-bottom: 10px;
          padding-top: 10px;
      }
      table.body td {
          padding-top: 2px;
      }
      table.total {
          page-break-inside: avoid;
      }
      tr.totalrow {
          background-color: #e3e3e3;
          line-height: 200%;
      }
      td.totalboxtop {
          font-size: 12pt;
          background-color: #e3e3e3;
      }
      td.addressheader {
          font-size: 8pt;
          padding-top: 6px;
          padding-bottom: 2px;
      }
      td.address {
          padding-top: 0;
      }
      td.totalboxmid {
          font-size: 28pt;
          padding-top: 20px;
          background-color: #e3e3e3;
      }
      td.totalboxbot {
          background-color: #e3e3e3;
          font-weight: bold;
      }
      span.title {
          font-size: 28pt;
      }
      span.number {
          font-size: 16pt;
      }
      span.itemname {
          font-weight: bold;
          line-height: 150%;
      }
      hr {
          width: 100%;
          color: #d3d3d3;
          background-color: #d3d3d3;
          height: 1px;
      }
      .synb {
          font-weight: bold;
      }
      .synh7 {
          font-size: 10pt;
          line-height: 120%;
      }
      .synh9 {
          font-size: 8pt;
          line-height: 120%;
      }
      tr.synbordertop td {
          border-top: 1pt solid black;
      }
      span.syntitle {
          font-size: 20pt;
      }
      span.synnumber {
          font-size: 13pt;
      }
    
    2 回复  |  直到 7 年前
        1
  •  4
  •   Jdg50    6 年前

    Netsuite将BFO与这些PDF一起使用。有关此特定问题,请参见以下内容: https://bfo.com/support/faq/#31

    我怎样才能防止我桌子上的字母被拉长?
    默认情况下,表格中的文本是对齐的。为了防止这种情况, <p> 隐式地放置在数据周围,是实现 这是为了使用样式表并添加:

    td p { align:left }
    

    我以前也有过同样的问题。这似乎是Netsuite呈现PDF的唯一问题。

    Netsuite/HTML

     <th><p style="align: center;">Color</p></th> 
    

      td {
            text-align: left;
            padding: 2px;
    }
          th {
            padding: 2px;
          }
    

    以下是没有中心对齐时的外观:

    enter image description here

    下面是它的中心外观:

    enter image description here

    我使用此链接中的信息作为进一步参考:

    PDF模板,您将遇到一个不寻常的HTML表 生成的PDF中的单元格对齐效果。“

    http://blog.prolecto.com/2016/03/18/netsuite-advanced-pdf-templates-how-to-fix-table-cell-alignment-justification-anomaly/

    希望这能有所帮助,至少这是我遇到类似问题时实施的解决方案。