AMAZONもverつけていこうと思う。
セラーセントラルだとFBAラベルは常に1番目から作られてしまう(と思う)ので、回避するシステムを組み込んだ。
軽く作ったので、メモ。
簡単に作ったし自分向けなので、汎用性は一切無い。
使い方としては、24面ラベルをシステムに保存して、使いたい部分以外はマスクして表示する感じ。
1,まずはセラーセントラルからFBAラベルを24枚分ダウンロード。

2.ラベルのPDFを保存。

システムは割愛。
3.印刷を押すとどの部分を使うかを選択。
チェックした部分から何枚とか行けるようにした。

この例は5番目から10個。
HTML部分(抜粋)
<h1>バーコード印刷:</h1>
<div class="box1">
<p>印刷したい箇所にチェックしてください。</p>
<p>チェックした箇所から自動チェック→
<select id="auto">
<?
for($i = 0; $i<=24; $i++){
print '<option>'.$i.'</option>';
}
?>
<select></p>
</div>
<form action="" method="post">
<table class="table1">
<tr>
<td><input type="checkbox" name="check[]" value="0" /></td>
<td><input type="checkbox" name="check[]" value="1" /></td>
<td><input type="checkbox" name="check[]" value="2" /></td>
</tr>
<tr>
<td><input type="checkbox" name="check[]" value="3" /></td>
<td><input type="checkbox" name="check[]" value="4" /></td>
<td><input type="checkbox" name="check[]" value="5" /></td>
</tr>
<tr>
<td><input type="checkbox" name="check[]" value="6" /></td>
<td><input type="checkbox" name="check[]" value="7" /></td>
<td><input type="checkbox" name="check[]" value="8" /></td>
</tr>
<tr>
<td><input type="checkbox" name="check[]" value="9" /></td>
<td><input type="checkbox" name="check[]" value="10" /></td>
<td><input type="checkbox" name="check[]" value="11" /></td>
</tr>
<tr>
<td><input type="checkbox" name="check[]" value="12" /></td>
<td><input type="checkbox" name="check[]" value="13" /></td>
<td><input type="checkbox" name="check[]" value="14" /></td>
</tr>
<tr>
<td><input type="checkbox" name="check[]" value="15" /></td>
<td><input type="checkbox" name="check[]" value="16" /></td>
<td><input type="checkbox" name="check[]" value="17" /></td>
</tr>
<tr>
<td><input type="checkbox" name="check[]" value="18" /></td>
<td><input type="checkbox" name="check[]" value="19" /></td>
<td><input type="checkbox" name="check[]" value="20" /></td>
</tr>
<tr>
<td><input type="checkbox" name="check[]" value="21" /></td>
<td><input type="checkbox" name="check[]" value="22" /></td>
<td><input type="checkbox" name="check[]" value="23" /></td>
</tr>
</table>
<input type="submit" value=" 印刷 " name="goPrint" />
</form>
jQuery
$('#auto').change( function(){
var num = parseInt( $(this).val() );
var start = $('input[name="check[]"]').index( $('input[name="check[]"]:checked').eq(0) );
if( start == -1 ) start = 0;
var end = start + num;
for (var i = start; i < end; i++) {
$('input[name="check[]"]').eq(i).prop("checked",true);
}
// alert(start);
return;
});
無駄が多そうだけど
4.PDF表示。
印刷を押した場合の動作

左上の記号は自社SKUなので、割愛
チェックした部分だけ表示される。
FPDFとFPDIにて実装。座標は決め打ち
PHP(抜粋)
require('fpdf/fpdf.php');
require('fpdf/fpdi.php');
$pdf=new FPDI('P', 'mm', 'A4');
// テンプレートをインポート
$pdf->setSourceFile('path/'.$asin.'.pdf');
$importPage = $pdf->importPage(1);
$pdf->addPage();
// テンプレートをページに適用
$pdf->useTemplate($importPage, 0, 0);
// $pdf->Rect(左, 上, 幅, 高さ, 'DF');
$pdf->SetFillColor(255, 255, 255);
$dx = 5;
$dy = 15;
$w = 66;
$h = 33.9;
for($i = 0; $i < 24; $i++){
if( in_array($i, $_POST['check']) ){
// スキップ(マスクしない)
continue;
}
$x = $dx + $w * ($i % 3);
$y = $dy + $h * (floor($i / 3));
$pdf->Rect($x, $y, $w, $h, 'F');
}
$pdf->Output('fba.pdf', 'I');
お手軽だ。
中国側で入荷時に一気に貼ってしまえば、無駄が少なそう。