您将如何解决以下逻辑:

我有带有单元格的pdf文件:

addressLine1
addressLine2
addressLine3
addressLine4
addressLine5
cityStateZip


他们都有吸气剂。
有时,所有字段都有数据,有时却没有。

为了使其美观,我希望它们分组在一起,即:

1261 Graeber St (address4)
Bldg 2313 Rm 24 (address5)
Pensacola FL 32508 (cityStateZip)


如果addressLine1是唯一存在的地址,则需要考虑其中一些地址为空。即:

1261 Graeber St (address5)
Pensacola FL 32508 (cityStateZip)


在这里,由于address2address3address4为空白,因此我们将address1移至pdf单元格address5

我的代码现在打印:

1261 Graeber St       (address1)
                      (address2)
                      (address3)
                      (address4)
                      (address5)
Pensacola FL 32508    (cityStateZip)


这是代码:

FdfInput.SetValue("addressLine1", getAddressLine1() );
FdfInput.SetValue("addressLine2", getAddressLine2() );
FdfInput.SetValue("addressLine3", getAddressLine3() );
FdfInput.SetValue("addressLine4", getAddressLine4() );
FdfInput.SetValue("addressLine5", getAddressLine5() );
FdfInput.SetValue("addressLine6", getCityStateZip() );


左边的图片是现在的样子,我希望它像右边的图片一样。

java - 如果有数据,仅从下至上打印行-LMLPHP

这是LinkedList.insertLast()的好候选人吗?

最佳答案

这个:

if(!getAddressLine1().isEmpty())
    FdfInput.SetValue("addressLine1", getAddressLine1());

if(!getAddressLine2().isEmpty())
    FdfInput.SetValue("addressLine2", getAddressLine2());

if(!getAddressLine3().isEmpty())
    FdfInput.SetValue("addressLine3", getAddressLine3());

if(!getAddressLine4().isEmpty())
    FdfInput.SetValue("addressLine4", getAddressLine4());

if(!getAddressLine5().isEmpty())
    FdfInput.SetValue("addressLine5", getAddressLine5());

if(!getCityStateZip().isEmpty())
    FdfInput.SetValue("cityStateZip", getCityStateZip());


换句话说,如果有数据要添加到行中,请这样做,否则,请完全跳过它。例如,假设除address3,address5和cityStateZip之外的所有字段均为空。

// The output will not look like this:


addressLine3

addressLine5
cityStateZip


相反,它将看起来像:

addressLine3
addressLine5
cityStateZip

07-25 20:13