4/6 下午 Emily 第四堂課,課堂程式片段

課堂附件下載

https://drive.google.com/drive/folders/1djy3dp19qY1f6gQkCPCy4tG5hbOjhKk0?usp=sharing

範例 4,發票摘要

let date = input.resolve( {"keyName":"DATE","keyBounds":{"page":1}, "valPos":"RIGHT"});
let invoice_num = input.resolve( {"keyName":"INVOICE #","keyBounds":{"page":1}, "valPos":"RIGHT"});
let cust_id = input.resolve( {"keyName":"CUSTOMER ID","keyBounds":{"page":1}, "valPos":"RIGHT"});
let due_date = input.resolve( {"keyName":"DUE DATE","keyBounds":{"page":1}, "valPos":"RIGHT"});
let phoneObj = _.find(input.textData, (o)=>o.text.includes('Phone'));
let address_objs = input.resolveRange( {
    "startKeyName":"Tiefland Glass AG","startKeyBounds":{"page":1}, "valPos":"DOWN", 
    "endKeyObj":phoneObj
});
let bill_to_address = input.resolveRange( {
    "startKeyName":"BILL TO","startKeyBounds":{"page":1}, "valPos":"DOWN", 
    "endKeyName":"DESCRIPTION","endKeyBounds":{"page":1} 
});
_.remove(bill_to_address, (o)=>o.text.includes('Phone'));
let total = input.resolveRange( {
    "startKeyName":"TOTAL","startKeyBounds":{"page":1}, 
    "relValBounds":{"top":0.002, "left":0.034, "right":0.162, "bottom":0.015} 
});

let summary = "";
summary += "DATE : " + date.text + "\n";
summary += "INVOICE# : " + invoice_num.text + "\n";
summary += "CUSTOMER ID : " + cust_id.text + "\n";
summary += "DUE DATE : " + due_date.text + "\n";
summary += "ADDRESS : ";
address_objs.forEach(t => {summary += t.text});
summary += "\n";
summary += "BILL TO : ";
let bill_to = bill_to_address.shift();
summary += bill_to.text + " ";
bill_to_address.forEach(t => {summary += t.text});
summary += "\n";
summary += "Total : ";
total.forEach(t => {summary += t.text});
output['invoice_summary'] = summary;

範例4,DOCX 樣板套用

EXCEL 表格分析

output[“fix_item_table”] = JSON.stringify(input);

DOCX樣板套用

output["c_year"] = "111";
output["c_month"] = "4";
output["c_day"] = "6";
output["carOwner"] = "Paul";
output["carNumber"] = "ABC-1234";


//output["fixItems"] = [
//    {"item":"車頭燈","quantity":2,"price":100000},
//    {"item":"保險桿","quantity":1,"price":120000},
//    {"item":"引擎蓋","quantity":1,"price":200000}
//];