Advanced PDF code of the given sample pdf

<?xml version="1.0"?><!DOCTYPE pdf PUBLIC "-//big.faceless.org//report" "report-1.1.dtd">
<pdf>
<head>
	<link name="NotoSans" type="font" subtype="truetype" src="${nsfont.NotoSans_Regular}" src-bold="${nsfont.NotoSans_Bold}" src-italic="${nsfont.NotoSans_Italic}" src-bolditalic="${nsfont.NotoSans_BoldItalic}" bytes="2" />
	<#if .locale == "zh_CN">
		<link name="NotoSansCJKsc" type="font" subtype="opentype" src="${nsfont.NotoSansCJKsc_Regular}" src-bold="${nsfont.NotoSansCJKsc_Bold}" bytes="2" />
	<#elseif .locale == "zh_TW">
		<link name="NotoSansCJKtc" type="font" subtype="opentype" src="${nsfont.NotoSansCJKtc_Regular}" src-bold="${nsfont.NotoSansCJKtc_Bold}" bytes="2" />
	<#elseif .locale == "ja_JP">
		<link name="NotoSansCJKjp" type="font" subtype="opentype" src="${nsfont.NotoSansCJKjp_Regular}" src-bold="${nsfont.NotoSansCJKjp_Bold}" bytes="2" />
	<#elseif .locale == "ko_KR">
		<link name="NotoSansCJKkr" type="font" subtype="opentype" src="${nsfont.NotoSansCJKkr_Regular}" src-bold="${nsfont.NotoSansCJKkr_Bold}" bytes="2" />
	<#elseif .locale == "th_TH">
		<link name="NotoSansThai" type="font" subtype="opentype" src="${nsfont.NotoSansThai_Regular}" src-bold="${nsfont.NotoSansThai_Bold}" bytes="2" />
	</#if>
    <macrolist>
        <macro id="nlheader">
            <table style="width: 811.6px;"></table>
        </macro>
    </macrolist>
    <style type="text/css">* {
		<#if .locale == "zh_CN">
			font-family: NotoSans, NotoSansCJKsc, sans-serif;
		<#elseif .locale == "zh_TW">
			font-family: NotoSans, NotoSansCJKtc, sans-serif;
		<#elseif .locale == "ja_JP">
			font-family: NotoSans, NotoSansCJKjp, sans-serif;
		<#elseif .locale == "ko_KR">
			font-family: NotoSans, NotoSansCJKkr, sans-serif;
		<#elseif .locale == "th_TH">
			font-family: NotoSans, NotoSansThai, sans-serif;
		<#else>
			font-family: NotoSans, sans-serif;
		</#if>
		}
		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: 0px;
            font-size: 10pt;
        }
        table.footer td {
            padding: 0px;
            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: 0px;
        }
        td.totalboxmid {
            font-size: 28pt;
            padding-top: 20px;
            background-color: #e3e3e3;
        }
        td.totalboxbot {
            background-color: #e3e3e3;
            font-weight: bold;
        }
        span.title {
            font-size: 10pt;
        }
        span.number {
            font-size: 16pt;
        }
        span.itemname {
            font-weight: bold;
            line-height: 150%;
        }
        hr {
            width: 100%;
            color: #d3d3d3;
            background-color: #d3d3d3;
            height: 1px;
        }
      .sizeClass{
        font-size: 6pt;
      }
      .bgcolor{
        background-color: #e6eaf9;
        font-size: 6pt;
      }
</style>
</head>
<body header="nlheader" header-height="2%" footer="nlfooter" footer-height="2%" padding="0.4in 0.4in 0.4in 0.4in" size="Letter">
  <#assign index=0>
    <table class="sizeClass" style="width: 100%;">
<thead>
	<tr>
	<td align="center" colspan="14" style="width:497px;padding-top:-10px"><span class="title" style="padding-left: 150px;"><b>CANADA CUSTOMS INVOICE</b></span><br /><span class="title" style="padding-left:112px"><b>FACTURE DES DOUANES CANADIENNES</b></span></td>
	<td colspan="4">
	<table class="sizeClass" style="border: 1px;border-bottom:none;margin-bottom:-5px;margin-right:-6px "><tr>
		<td colspan="4" style=" padding-left: 5px;">Page</td>
		</tr>
		<tr>
		<td align="center" style="padding-left: 5px;"><span class="bgcolor" style="padding: 5px 4px 12px 5px; "><pagenumber/></span></td>
		<td align="center">of<br />de</td>
		<td align="center" style="padding-left: 5px;"><span class="bgcolor" style="padding: 5px 4px 12px 3px;background-color:#e6eaf9 "><totalpages/></span></td>
		</tr></table>
	</td>
	</tr>
	<tr>
	<td colspan="9" style="border: 1px;  padding-left: 1px;">1.&nbsp;&nbsp;<span style="padding-left: 12px;">Vendor (name and address) - Vendeur (nom et adresse)</span>
	<table class="bgcolor" colspan="9" style="padding: 5px; margin: 0px 0px -3px 3px; width:100%;"><tr>
		<td colspan="9">&nbsp; &nbsp; Nicole Brayden Gifts,<br />&nbsp; &nbsp; LLC 6573A Cochran Rd Solon,<br />&nbsp; &nbsp;&nbsp;OH 44139USA 440-349-9933</td>
		</tr></table>
	</td>
	<td colspan="9" style=" border-top: 1px; border-right: 1px; border-bottom: 1px; border-image: initial; border-left: none;">2.<span style="padding-left: 10px">Date of direct shipment to Canada - Date d'exp&eacute;dition directe vers le Canada</span>
	<table class="sizeClass, bgcolor" style="padding:4px 4px 4px 10px; margin: 0px 0px -2px 3px;width:100% "><tr>
      <td colspan="9" align="center" style="height: 27px;">&nbsp; &nbsp;<#if headerValues.value.bodyValues.shipdate?has_content> ${headerValues.value.bodyValues.shipdate?date?string("yyyy/MM/dd")}</#if></td>
		</tr></table>
	</td>
	</tr>
	<tr>
	<td colspan="9" style="border-right: 1px; border-bottom: 1px; border-left: 1px; border-image: initial; border-top: none; ">4. <span style="padding-left: 11px"> Consignee (name and address) - Destinataire (nom et adresse)</span>
	<table class="sizeClass, bgcolor" colspan="9" style="padding: 5px 5px 5px 15px; margin: 0px 0px -10px -2px; width: 100%;"><tr>
		<td>${headerValues.value.bodyValues.address}</td>
		</tr></table>
	</td>
	<td colspan="9" style=" border-right: 1px; border-bottom: 1px; border-image: initial; border-left: none; border-top: none;">3. <span style="padding-left: 11px"> Other references (include purchaser's order No.)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Autres&nbsp;r&eacute;f&eacute;rences (inclure le n&deg; de commande de l'acheteur) </span>
	<table class="bgcolor" colspan="9" style="padding: 5px; margin: 0px 0px -3px 3px; width: 100%;"><tr>
		<td>&nbsp; &nbsp;${headerValues.value.bodyValues.po}</td>
		</tr></table>
	</td>
	</tr>
	<tr>
	<td colspan="9" style="border-right: 1px; border-left: 1px; border-image: initial; border-top: none; border-bottom: none; ">7.<span style="padding-left: 12px">Transportation: Give mode and place of direct shipment to Canada<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Transport : Pr&eacute;cisez mode et point d'exp&eacute;dition directe vers le Canada</span>
	<table class="bgcolor" style="padding:5px 5px 5px 12px; margin: 0px 0px -211px 1px; width: 100%;"><tr>
		<td colspan="9">${headerValues.value.bodyValues.shipmethod}</td>
		</tr></table>
	</td>
	<td colspan="9" style="border-right: 1px;  ">
	<table class="sizeClass" colspan="9" style="width: 100%; "><tr>
		<td colspan="9" style="border-bottom: 1px; margin:0px -5px 0px -5px">5. <span style="padding-left:11px">Country of transhipment - Pays de transbordement</span>
		<table class="bgcolor" style="padding: 5px; margin: 0px -3px -3px 3px; width: 100%;"><tr>
			<td colspan="9" style="padding-left:12px">USA</td>
			</tr></table>
		</td>
		</tr>
		<tr>
		<td colspan="9">
		<table class="sizeClass" colspan="9" style="width: 100%; margin:-6px -12px -6px -11px"><tr>
			<td colspan="5" style="border-bottom: 1px; border-right: 1px; height: 81px; ">6.&nbsp; &nbsp;Country of origin of goods&nbsp;<br /><span style="padding-left: 13px">Pays d'origine des marchandises</span>
			<table class="bgcolor" style="padding: 5px; margin: -3px -3px -3px 3px; width: 100%;"><tr>
				<td colspan="5" style="height: 40px;">&nbsp;</td>
				</tr></table>
			</td>
			<td colspan="4" style="border-bottom: 1px; padding-left: 9px; font-size: 6pt; height: 81px;"><b>IF SHIPMENT INCLUDES GOODS OF DIFFERENT ORIGINS ENTER ORIGINS AGAINST ITEMS IN 12.</b><br /><b>SI L'EXP&Eacute;DITION COMPREND DES MARCHANDISES D'ORIGINES DIFF&Eacute;RENTES, PR&Eacute;CISEZ LEUR PROVENANCE EN 12</b></td>
			</tr></table>
		</td>
		</tr>
		<tr>
		<td colspan="9" style="border-bottom: 1px; margin:0px -6px 0px -6px">8.&nbsp; &nbsp; <span>Conditions of sale and terms of payment<br />&nbsp; &nbsp; &nbsp; &nbsp;(i.e. sale, consignment shipment, leased goods, etc.)<br />&nbsp; &nbsp; &nbsp; &nbsp;Conditions de vente et modalit&eacute;s de paiement<br />&nbsp; &nbsp; &nbsp; (p. ex. vente, exp&eacute;dition en consignation, location de marchandises, etc.)</span>
		<table class="bgcolor" colspan="9" style="padding:5px 5px 5px 7px; margin: 0px 0px -3px 3px; width: 100%;"><tr>
			<td colspan="9" style="height: 4px;">${headerValues.value.bodyValues.terms}</td>
			</tr></table>
		</td>
		</tr>
		<tr>
		<td colspan="9" style="padding-left: -1px">9.&nbsp; &nbsp; Currency of settlement - Devises du paiement
		<table class="bgcolor" style="padding:5px 5px 5px 9px; margin: 0px -6px -6px 0px; width: 100%;"><tr>
			<td colspan="9">${headerValues.value.bodyValues.currency}</td>
			</tr></table>
		</td>
		</tr></table>
	</td>
	</tr>
	<tr>
	
	<td align="center" colspan="2" rowspan="3" style="border-top: 1px; border-left: 1px; border-image: initial; border-right: none; padding-top: 11px; ">Description</td>
	<td align="center" colspan="2" rowspan="3" style="border-top: 1px;  border-left: 1px; border-image: initial; border-right: none; padding-top: 11px; ">Country Of Origin</td>
    <td align="center" colspan="2" rowspan="3" style="border-top: 1px;  border-left: 1px; border-image: initial; border-right: none; padding-top: 11px; ">US HTS Code</td>
	<td align="center" colspan="3" rowspan="3" style="border-top: 1px;  border-left: 1px; border-image: initial; border-right: none; padding-top: 11px;">Canada HTS Code</td>
	<td align="center" colspan="3" rowspan="3" style="border-top: 1px;  border-left: 1px; border-image: initial; border-right: none; padding-top: 11px; ">Quantity</td>
	<td align="center" colspan="6" style="border-top: 1px; border-right: 1px; border-left: 1px; border-image: initial; border-bottom: none; padding-top: 9px; ">Selling price - Prix de vente</td>
	</tr>
	<tr>
	<td align="center" colspan="2" rowspan="2" style="border-top: 1px; border-left: 1px; border-image: initial; border-right: none; padding-top: 9px; ">Cost</td>
	<td align="center" colspan="4" rowspan="2" style="border: 1px;border-bottom: none;">Total</td>
	</tr>
</thead>
<#assign total = 0>
  <#list bodyValues.value as bodyItem>
    <tr class="bgcolor" >
	
	<td align="left" colspan="2" style="border-left: 1px;padding-top: 11px; "><#if bodyItem.description == 'Nil'> &nbsp; <#else> ${bodyItem.description}</#if></td>
	<td align="center" colspan="2" style="border-left: 1px; padding-top: 11px; ">${bodyItem.origin}</td>
    <td align="center" colspan="2" style="border-left: 1px; padding-top: 11px; ">${bodyItem.ushts}</td>
	<td align="center" colspan="3" style="border-left: 1px; padding-top: 11px; ">${bodyItem.canadahts}</td>
	<td align="center" colspan="3" style="border-left: 1px; padding-top: 11px; ">${bodyItem.quantity}</td>
	<td align="right" colspan="2" style="border-left: 1px; padding-top: 9px;">${bodyItem.price}</td>
    
	<td align="right" colspan="4" style="border-left: 1px; border-right:1px; padding-top: 9px;"> ${bodyItem.total}</td>
    <#assign total += bodyItem.total?number >
    </tr>
      
	</#list>
	<tr style="border-top:none;border-bottom:none;">
	
      <td colspan="6" style="border: 1px;border-right:none; ">&nbsp;</td>
	<td colspan="3" style="border: 1px ;border-right: none ; padding-top:9px ;">Carton Count
      <table style="width:100%; margin: 10px -3px -3px -3px; "><tr>
		<td align="right" class="bgcolor" style="height: 9px;padding-top: 5px ">${headerValues.value.bodyValues.carton}</td>
		</tr></table>
    </td>
      
	<td colspan="3" style="border: 1px;border-right:none;  padding-top:10px">Total Weight
	<table style="width:100%; margin: 10px -3px -3px -3px; "><tr>
		<td align="right" class="bgcolor" style="height: 9px;padding-top: 5px ">${headerValues.value.bodyValues.totalweight}</td>
		</tr></table>
	</td>
	<td colspan="2" style="border: 1px; border-image: initial; border-right: none;  ">&nbsp;</td>
	<td colspan="4" style="border: 1px; border-image: initial; width: 94px; "><span style="padding-left: -3px">16.</span>&nbsp; Invoice total<br /><span style="padding-left: 13px">Total de la facture</span>
	<table style="width:100%; margin:-4px "><tr>
      <td align="right" class="bgcolor" style="height: 10px;padding-top:5px"> ${total?string("#,##0.####")}</td>
		</tr></table>
	</td>
	</tr>
	<tr>
      <td colspan="18" style="border: 1px; border-top-width: 0.1px">18.&nbsp; &nbsp;Exporter's name and address (if other than vendor)<br /> <span style="padding-left: 16px">Nom et adresse de l'exportateur (s'il diff&egrave;re du vendeur)</span>
	<table style="width:56%; "><tr>
		<td class="bgcolor" style="height: 41px;"><span style="padding-left: 7px">Branded Distribution,</span><br /><span style="padding-left: 7px">18807 Miles Road,</span><br /><span style="padding-left: 7px">Warrensville Heights,</span><br /><span style="padding-left: 7px">Ohio 44128</span></td>
		</tr></table>
	</td>
	</tr></table>
      
</body>
</pdf>

Leave a comment

Your email address will not be published. Required fields are marked *