PHP Code:
// products , model etc table layout
PDFOC_change_color(PDFOC_TABLE_HEADER_BKGD_COLOR);
$pdf->filledRectangle(PDFOC_LEFT_MARGIN,$pos-PDFOC_PRODUCT_TABLE_ROW_HEIGHT,PDFOC_PRODUCT_TABLE_HEADER_WIDTH,PDFOC_PRODUCT_TABLE_ROW_HEIGHT);
$x = PDFOC_LEFT_MARGIN + PDFOC_PRODUCT_TABLE_LEFT_MARGIN;
$pos = ($pos-PDFOC_PRODUCT_TABLE_ROW_HEIGHT) + PDFOC_PRODUCT_TABLE_BOTTOM_MARGIN;
PDFOC_change_color(PDFOC_GENERAL_FONT_COLOR);
$pdf->ezSetY($pos+PDFOC_PRODUCT_TABLE_ROW_HEIGHT);
$pdf->ezText(PDFOC_TABLE_HEADING_PRODUCTS,PDFOC_TABLE_HEADER_FONT_SIZE, array('aleft'=>$x));
$x += PDFOC_PRODUCTS_COLUMN_SIZE;
$pdf->ezSetY($pos+PDFOC_PRODUCT_TABLE_ROW_HEIGHT);
$pdf->ezText("Shipped Dropped Delayed",PDFOC_TABLE_HEADER_FONT_SIZE, array('aleft'=>$x));
$pos -= PDFOC_PRODUCT_TABLE_BOTTOM_MARGIN;
// Sort through the products
for ($i = $nextproduct, $n = sizeof($order->products); $i < $n; $i++) {
// check whether too far down page to print more products; assume enough margin
// to account for a product with wrapped text and a couple of attributes
//
if ($pos < PDFOC_BOTTOM_MARGIN) {
$secondpage = true;
return;
}
$prod_str = $order->products[$i]['qty'] . " x " . $order->products[$i]['name'];
PDFOC_change_color(PDFOC_PRODUCT_LISTING_BKGD_COLOR);
$pdf->filledRectangle(PDFOC_LEFT_MARGIN,$pos-PDFOC_PRODUCT_TABLE_ROW_HEIGHT,PDFOC_PRODUCT_TABLE_HEADER_WIDTH,PDFOC_PRODUCT_TABLE_ROW_HEIGHT);
$x = PDFOC_LEFT_MARGIN + PDFOC_PRODUCT_TABLE_LEFT_MARGIN;
$pos = ($pos-PDFOC_PRODUCT_TABLE_ROW_HEIGHT) + PDFOC_PRODUCT_TABLE_BOTTOM_MARGIN;
PDFOC_change_color(PDFOC_GENERAL_FONT_COLOR);
$truncated_str = $pdf->addTextWrap($x,$pos,PDFOC_PRODUCTS_COLUMN_SIZE,PDFOC_TABLE_HEADER_FONT_SIZE,$prod_str);
$pdf->ezSetY($pos+PDFOC_PRODUCT_TABLE_ROW_HEIGHT-PDFOC_PRODUCT_TABLE_BOTTOM_MARGIN);
$x += PDFOC_PRODUCTS_COLUMN_SIZE;
$pdf->ezText(pdfoc_html_cleanup($order->products[$i]['model']),PDFOC_TABLE_HEADER_FONT_SIZE,array('aleft'=>$x));
$pos -= PDFOC_PRODUCT_TABLE_BOTTOM_MARGIN;
if ($truncated_str) {
PDFOC_change_color(PDFOC_PRODUCT_LISTING_BKGD_COLOR);
$pdf->filledRectangle(PDFOC_LEFT_MARGIN,$pos-PDFOC_PRODUCT_TABLE_ROW_HEIGHT,PDFOC_PRODUCT_TABLE_HEADER_WIDTH,PDFOC_PRODUCT_TABLE_ROW_HEIGHT);
$pos = ($pos-PDFOC_PRODUCT_TABLE_ROW_HEIGHT) + PDFOC_PRODUCT_TABLE_BOTTOM_MARGIN;
PDFOC_change_color(PDFOC_GENERAL_FONT_COLOR);
$reset_x = PDFOC_LEFT_MARGIN + PDFOC_PRODUCT_TABLE_LEFT_MARGIN;
$pdf->addText($reset_x,$pos,PDFOC_TABLE_HEADER_FONT_SIZE,$truncated_str);
$pos -= PDFOC_PRODUCT_TABLE_BOTTOM_MARGIN;
} // EOIF $truncated_str
if ( ($k = sizeof($order->products[$i]['attributes'])) > 0) {
for ($j = 0; $j < $k; $j++) {
$attrib_string = '<i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'];
if ($order->products[$i]['attributes'][$j]['price'] != '0') {
$attrib_string .= ' (' . $order->products[$i]['attributes'][$j]['prefix'] .
pdfoc_html_cleanup($currencies->format($order->products[$i]['attributes'][$j]['price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value'])) . ')';
}
$attrib_string .= '</i>';
PDFOC_change_color(PDFOC_PRODUCT_LISTING_BKGD_COLOR);
$pdf->filledRectangle(PDFOC_LEFT_MARGIN,$pos-PDFOC_PRODUCT_TABLE_ROW_HEIGHT,PDFOC_PRODUCT_TABLE_HEADER_WIDTH,PDFOC_PRODUCT_TABLE_ROW_HEIGHT);
$pos = ($pos-PDFOC_PRODUCT_TABLE_ROW_HEIGHT) + PDFOC_PRODUCT_TABLE_BOTTOM_MARGIN;
PDFOC_change_color(PDFOC_GENERAL_FONT_COLOR);
$reset_x = PDFOC_LEFT_MARGIN + PDFOC_PRODUCT_TABLE_LEFT_MARGIN;
if (PDFOC_PRODUCT_ATTRIBUTES_TEXT_WRAP) {
$wrapped_str = $pdf->addTextWrap($reset_x,$pos,PDFOC_PRODUCTS_COLUMN_SIZE,PDFOC_PRODUCT_ATTRIBUTES_FONT_SIZE,$attrib_string);
} else {
$pdf->addText($reset_x,$pos,PDFOC_PRODUCT_ATTRIBUTES_FONT_SIZE,$attrib_string);
}
$pos -= PDFOC_PRODUCT_TABLE_BOTTOM_MARGIN;
if ($wrapped_str) {
PDFOC_change_color(PDFOC_PRODUCT_LISTING_BKGD_COLOR);
$pdf->filledRectangle(PDFOC_LEFT_MARGIN,$pos-PDFOC_PRODUCT_TABLE_ROW_HEIGHT,PDFOC_PRODUCT_TABLE_HEADER_WIDTH,PDFOC_PRODUCT_TABLE_ROW_HEIGHT);
$pos = ($pos-PDFOC_PRODUCT_TABLE_ROW_HEIGHT) + PDFOC_PRODUCT_TABLE_BOTTOM_MARGIN;
PDFOC_change_color(PDFOC_GENERAL_FONT_COLOR);
$pdf->addText($reset_x,$pos,PDFOC_PRODUCT_ATTRIBUTES_FONT_SIZE,$wrapped_str);
$pos -= PDFOC_PRODUCT_TABLE_BOTTOM_MARGIN;
} // EOIF $wrapped_str
} // EOFOR $j = 0
} // EOIF $k = sizeof(...
$nextproduct++;
}
Thanks for any help you can!