feat: improve extraction from fillable fields (#247)

Signed-off-by: Peter Staar <taa@zurich.ibm.com>
This commit is contained in:
Peter W. J. Staar
2026-04-07 14:42:32 +02:00
committed by GitHub
parent 130672acce
commit c3c1e85da3
34 changed files with 88534 additions and 1306 deletions
+57 -50
View File
@@ -7,26 +7,22 @@ void set_loglevel(std::string level)
if(level=="info")
{
loguru::g_stderr_verbosity = loguru::Verbosity_INFO;
//set_verbosity(loguru::Verbosity_INFO);
}
else if(level=="warning")
{
loguru::g_stderr_verbosity = loguru::Verbosity_WARNING;
//loguru::set_verbosity(loguru::Verbosity_WARNING);
}
else if(level=="error")
{
loguru::g_stderr_verbosity = loguru::Verbosity_ERROR;
//loguru::set_verbosity(loguru::Verbosity_ERROR);
}
else if(level=="fatal")
{
loguru::g_stderr_verbosity = loguru::Verbosity_FATAL;
//loguru::set_verbosity(loguru::Verbosity_ERROR);
}
else
{
loguru::g_stderr_verbosity = loguru::Verbosity_ERROR;
loguru::g_stderr_verbosity = loguru::Verbosity_ERROR;
}
}
@@ -71,69 +67,93 @@ int main(int argc, char* argv[]) {
// Initialize loguru
loguru::init(argc, argv);
bool do_sanitization = true;
bool keep_shapes = true;
bool keep_bitmaps = true;
try {
cxxopts::Options options("PDFProcessor", "A program to process PDF files or configuration files");
// Define the options
options.add_options()
("i,input", "Input PDF file", cxxopts::value<std::string>())
("c,config", "Config file", cxxopts::value<std::string>())
("create-config", "Create config file", cxxopts::value<std::string>())
("p,page", "Pages to process (default: -1 for all)", cxxopts::value<int>()->default_value("-1"))
("password", "Password for accessing encrypted, password-protected files", cxxopts::value<std::string>())
("o,output", "Output file", cxxopts::value<std::string>())
("export-images", "Export images to directory", cxxopts::value<std::string>())
("print-cells", "Print cells to stdout [char, word, line, all] (default: none)", cxxopts::value<std::string>())
("keep-text", "Keep text cells in output (default: true)", cxxopts::value<bool>()->default_value("true"))
("keep-shapes", "Keep shapes in output (default: true)", cxxopts::value<bool>()->default_value("true"))
("keep-bitmaps", "Keep bitmaps in output (default: true)", cxxopts::value<bool>()->default_value("true"))
("do-sanitation", "Do text sanitation (default: true)", cxxopts::value<bool>()->default_value("true"))
("l,loglevel", "loglevel [error;warning;success;info]", cxxopts::value<std::string>())
("h,help", "Print usage");
("i,input", "Input PDF file", cxxopts::value<std::string>())
("c,config", "Config file", cxxopts::value<std::string>())
("create-config", "Create config file", cxxopts::value<std::string>())
("p,page", "Pages to process (default: -1 for all)", cxxopts::value<int>()->default_value("-1"))
("password", "Password for accessing encrypted, password-protected files", cxxopts::value<std::string>())
("o,output", "Output file", cxxopts::value<std::string>())
("export-images", "Export images to directory", cxxopts::value<std::string>())
("print-cells", "Print cells to stdout [char, word, line, all] (default: none)", cxxopts::value<std::string>())
("l,loglevel", "Log level [error, warning, info]", cxxopts::value<std::string>())
("h,help", "Print usage")
// ---- decode_config ----
("page-boundary", "Page boundary [crop_box, media_box, ...] (default: crop_box)", cxxopts::value<std::string>())
("do-sanitization", "Run post-parse sanitization (default: true)", cxxopts::value<bool>()->implicit_value("true"))
("keep-char-cells", "Keep individual character cells (default: true)", cxxopts::value<bool>()->implicit_value("true"))
("keep-shapes", "Keep shape items (default: true)", cxxopts::value<bool>()->implicit_value("true"))
("keep-bitmaps", "Keep bitmap items (default: true)", cxxopts::value<bool>()->implicit_value("true"))
("max-num-lines", "Cap on number of lines per page (-1 = no cap)", cxxopts::value<int>())
("max-num-bitmaps", "Cap on number of bitmaps per page (-1 = no cap)", cxxopts::value<int>())
("create-word-cells", "Build word-level cells (default: true)", cxxopts::value<bool>()->implicit_value("true"))
("create-line-cells", "Build line-level cells (default: true)", cxxopts::value<bool>()->implicit_value("true"))
("enforce-same-font", "Require same font within a word/line cell (default: true)", cxxopts::value<bool>()->implicit_value("true"))
("horizontal-cell-tolerance", "Horizontal merge tolerance (default: 1.0)", cxxopts::value<double>())
("word-space-factor", "Space-width factor for word merging (default: 0.33)", cxxopts::value<double>())
("line-space-factor", "Space-width factor for line merging (default: 1.0)", cxxopts::value<double>())
("line-space-factor-with-space", "Space-width factor for line merging with space (default: 0.33)", cxxopts::value<double>())
("keep-glyphs", "Keep unmapped GLYPH<...> tokens (default: false)", cxxopts::value<bool>()->implicit_value("true"))
("keep-qpdf-warnings", "Emit QPDF warnings (default: false)", cxxopts::value<bool>()->implicit_value("true"))
("populate-json", "Populate JSON objects during decode (default: false)", cxxopts::value<bool>()->implicit_value("true"));
// Parse command line arguments
auto result = options.parse(argc, argv);
// Check if either input or config file is provided (mandatory)
if (orig_argc == 1) {
LOG_S(INFO) << argc;
LOG_F(ERROR, "Either input (-i) or config (-c) must be specified.");
LOG_F(INFO, "%s", options.help().c_str());
return 1;
}
std::string level = "warning";
if (result.count("loglevel")){
if (result.count("loglevel")) {
level = result["loglevel"].as<std::string>();
// Convert the string to lowercase
std::transform(level.begin(), level.end(), level.begin(), [](unsigned char c) {
return std::tolower(c);
});
set_loglevel(level);
}
do_sanitization = result["do-sanitation"].as<bool>();
bool keep_text = result["keep-text"].as<bool>();
keep_shapes = result["keep-shapes"].as<bool>();
keep_bitmaps = result["keep-bitmaps"].as<bool>();
// Help option or no arguments provided
if (result.count("help")) {
LOG_F(INFO, "%s", options.help().c_str());
return 0;
}
// --- decode_config ---
pdflib::decode_config page_config;
if (result.count("page-boundary")) { page_config.page_boundary = result["page-boundary"].as<std::string>(); }
if (result.count("do-sanitization")) { page_config.do_sanitization = result["do-sanitization"].as<bool>(); }
if (result.count("keep-char-cells")) { page_config.keep_char_cells = result["keep-char-cells"].as<bool>(); }
if (result.count("keep-shapes")) { page_config.keep_shapes = result["keep-shapes"].as<bool>(); }
if (result.count("keep-bitmaps")) { page_config.keep_bitmaps = result["keep-bitmaps"].as<bool>(); }
if (result.count("max-num-lines")) { page_config.max_num_lines = result["max-num-lines"].as<int>(); }
if (result.count("max-num-bitmaps")) { page_config.max_num_bitmaps = result["max-num-bitmaps"].as<int>(); }
if (result.count("create-word-cells")) { page_config.create_word_cells = result["create-word-cells"].as<bool>(); }
if (result.count("create-line-cells")) { page_config.create_line_cells = result["create-line-cells"].as<bool>(); }
if (result.count("enforce-same-font")) { page_config.enforce_same_font = result["enforce-same-font"].as<bool>(); }
if (result.count("horizontal-cell-tolerance")){ page_config.horizontal_cell_tolerance = result["horizontal-cell-tolerance"].as<double>(); }
if (result.count("word-space-factor")) { page_config.word_space_width_factor_for_merge = result["word-space-factor"].as<double>(); }
if (result.count("line-space-factor")) { page_config.line_space_width_factor_for_merge = result["line-space-factor"].as<double>(); }
if (result.count("line-space-factor-with-space")) { page_config.line_space_width_factor_for_merge_with_space = result["line-space-factor-with-space"].as<double>(); }
if (result.count("keep-glyphs")) { page_config.keep_glyphs = result["keep-glyphs"].as<bool>(); }
if (result.count("keep-qpdf-warnings")) { page_config.keep_qpdf_warnings = result["keep-qpdf-warnings"].as<bool>(); }
if (result.count("populate-json")) { page_config.populate_json_objects = result["populate-json"].as<bool>(); }
if (result.count("config")) {
std::string config_file = result["config"].as<std::string>();
LOG_F(INFO, "Config file: %s", config_file.c_str());
pdflib::decode_config page_config;
page_config.do_sanitization = do_sanitization;
page_config.keep_char_cells = keep_text;
page_config.keep_shapes = keep_shapes;
page_config.keep_bitmaps = keep_bitmaps;
std::cout << "decode_config:\n" << page_config.to_string() << std::endl;
utils::timer timer;
@@ -196,12 +216,6 @@ int main(int argc, char* argv[]) {
config["password"] = result["password"].as<std::string>();
}
pdflib::decode_config page_config;
page_config.do_sanitization = do_sanitization;
page_config.keep_char_cells = keep_text;
page_config.keep_shapes = keep_shapes;
page_config.keep_bitmaps = keep_bitmaps;
std::cout << "decode_config:\n" << page_config.to_string() << std::endl;
utils::timer timer;
@@ -233,13 +247,6 @@ int main(int argc, char* argv[]) {
return 0;
}
// Help option or no arguments provided
if (result.count("help")) {
LOG_F(INFO, "%s", options.help().c_str());
return 0;
}
//} catch (const cxxopts::OptionException& e) {
} catch (const cxxopts::exceptions::exception& e) {
LOG_F(ERROR, "Error parsing options: %s", e.what());
return 1;
+1 -1
View File
@@ -144,7 +144,7 @@ int main(int argc, char* argv[])
("p,page", "Pages to process (default: -1 for all)", cxxopts::value<int>()->default_value("-1"))
("password", "Password for encrypted files", cxxopts::value<std::string>())
("o,output", "Output file or output directory (for -d mode)", cxxopts::value<std::string>())
("r,renderer", "Renderer type [NAIVE, BLEND2D] (default: NAIVE)", cxxopts::value<std::string>()->default_value("NAIVE"))
("r,renderer", "Renderer type [NAIVE, BLEND2D] (default: NAIVE)", cxxopts::value<std::string>()->default_value("BLEND2D"))
("l,loglevel", "Log level [error, warning, info]", cxxopts::value<std::string>())
("h,help", "Print usage")
+9
View File
@@ -23,6 +23,15 @@ namespace pdflib
PAGE_HYPERLINK,
PAGE_HYPERLINKS
};
// "/FT": "/Tx" | "/Btn" | "/Ch" | "/Sig"
enum widget_name {
TEXT_FIELD, // type: {`/FT`: `/Tx`}
BUTTON, // type: { `/FT`: `/Btn`}
CHOICE, // type: { `/FT`: `/Ch`}
SIGNATURE, // type: { `/FT`: `/Sig`}
UNDEFINED,
};
template<item_name name>
class page_item
+3
View File
@@ -20,6 +20,8 @@ namespace pdflib
public:
widget_name name;
// Bounding box (in page coordinates)
double x0;
double y0;
@@ -34,6 +36,7 @@ namespace pdflib
};
page_item<PAGE_WIDGET>::page_item():
name(UNDEFINED),
x0(0), y0(0), x1(0), y1(0),
text(),
description(),
+64 -3
View File
@@ -23,6 +23,7 @@ namespace pdflib
enum RENDER_INSTRUCTION_NAME {
SIZE_INSTRUCTION, // set the size of the canvas on which we render
TEXT_RENDER_INSTRUCTION, // render text on the canvas
TEXT_WIDGET_RENDER_INSTRUCTION, // render a fillable-field widget (bbox + value text)
BITMAP_RENDER_INSTRUCTION, // paste bitmap image on the canvas
SHAPE_RENDER_INSTRUCTION, // draw shapes (lines, shapes, filling, etc)
};
@@ -135,6 +136,50 @@ namespace pdflib
const double base_y0;
};
class text_widget_instruction
{
public:
const static RENDER_INSTRUCTION_NAME instr = TEXT_WIDGET_RENDER_INSTRUCTION;
text_widget_instruction(std::string text,
double x0, double y0,
double x1, double y1,
double r_x0, double r_y0,
double r_x1, double r_y1,
double r_x2, double r_y2,
double r_x3, double r_y3):
text_(std::move(text)),
x0_(x0), y0_(y0),
x1_(x1), y1_(y1),
r_x0_(r_x0), r_y0_(r_y0),
r_x1_(r_x1), r_y1_(r_y1),
r_x2_(r_x2), r_y2_(r_y2),
r_x3_(r_x3), r_y3_(r_y3)
{}
const std::string& get_text() const { return text_; }
double get_x0() const { return x0_; }
double get_y0() const { return y0_; }
double get_x1() const { return x1_; }
double get_y1() const { return y1_; }
double get_r_x0() const { return r_x0_; }
double get_r_y0() const { return r_y0_; }
double get_r_x1() const { return r_x1_; }
double get_r_y1() const { return r_y1_; }
double get_r_x2() const { return r_x2_; }
double get_r_y2() const { return r_y2_; }
double get_r_x3() const { return r_x3_; }
double get_r_y3() const { return r_y3_; }
private:
const std::string text_;
const double x0_, y0_, x1_, y1_;
const double r_x0_, r_y0_, r_x1_, r_y1_;
const double r_x2_, r_y2_, r_x3_, r_y3_;
};
class bitmap_instruction
{
public:
@@ -239,6 +284,7 @@ namespace pdflib
typedef instruction instruction_type;
typedef text_instruction text_instruction_type;
typedef text_widget_instruction text_widget_instruction_type;
typedef bitmap_instruction bitmap_instruction_type;
typedef shape_instruction shape_instruction_type;
@@ -251,6 +297,7 @@ namespace pdflib
void add_size_instruction(size_instruction& instr);
void add_text_instruction(text_instruction_type instr);
void add_widget_instruction(text_widget_instruction_type instr);
void add_bitmap_instruction(bitmap_instruction_type instr);
void add_shape_instruction(shape_instruction_type instr);
@@ -264,9 +311,10 @@ namespace pdflib
std::vector<instruction_type> instructions;
std::vector<text_instruction_type> text_instructions;
std::vector<bitmap_instruction_type> bitmap_instructions;
std::vector<shape_instruction_type> shape_instructions;
std::vector<text_instruction_type> text_instructions;
std::vector<text_widget_instruction_type> widget_instructions;
std::vector<bitmap_instruction_type> bitmap_instructions;
std::vector<shape_instruction_type> shape_instructions;
};
@@ -291,6 +339,12 @@ namespace pdflib
text_instructions.push_back(std::move(instr));
}
inline void pdf_render_instructions::add_widget_instruction(text_widget_instruction instr)
{
instructions.emplace_back(TEXT_WIDGET_RENDER_INSTRUCTION, widget_instructions.size());
widget_instructions.push_back(std::move(instr));
}
inline void pdf_render_instructions::add_bitmap_instruction(bitmap_instruction instr)
{
instructions.emplace_back(BITMAP_RENDER_INSTRUCTION, bitmap_instructions.size());
@@ -319,6 +373,13 @@ namespace pdflib
}
break;
case TEXT_WIDGET_RENDER_INSTRUCTION:
{
auto& widget_instr = widget_instructions.at(instr.index);
renderer.render_widget(widget_instr);
}
break;
case BITMAP_RENDER_INSTRUCTION:
{
auto& bmap_instr = bitmap_instructions.at(instr.index);
+392 -125
View File
@@ -21,8 +21,8 @@ namespace pdflib
// Thread-safe constructor: creates its own QPDF document from the shared buffer
pdf_decoder(std::shared_ptr<std::string> buffer,
std::optional<std::string> password,
int page_num);
std::optional<std::string> password,
int page_num);
~pdf_decoder();
@@ -66,7 +66,7 @@ namespace pdflib
private:
void update_qpdf_logger();
void decode_dimensions();
// Resources
@@ -85,10 +85,21 @@ namespace pdflib
void decode_annots_from_qpdf();
void extract_page_items_from_annots(QPDFObjectHandle annots);
void add_page_cell_from_annot(QPDFObjectHandle annot);
void add_page_hyperlink_from_annot(QPDFObjectHandle annot);
void add_page_widget_from_annot(QPDFObjectHandle annot);
void add_textfield(QPDFObjectHandle annot, const std::array<double, 4>& bbox);
void add_button (QPDFObjectHandle annot, const std::array<double, 4>& bbox);
void add_choice (QPDFObjectHandle annot, const std::array<double, 4>& bbox);
void add_signature(QPDFObjectHandle annot, const std::array<double, 4>& bbox);
// Load /AcroForm/DR/Font into acroform_fonts (called once before widget processing).
void load_acroform_dr_fonts();
// Parse the /AP/N appearance stream, extract cells in AP-local coords,
// shift by bbox origin to page coords, and append to page_cells.
void decode_ap_stream(QPDFObjectHandle ap_stream, const std::array<double, 4>& bbox);
void rotate_contents();
void sanitise_contents(std::string page_boundary);
@@ -117,19 +128,19 @@ namespace pdflib
page_item<PAGE_DIMENSION> page_dimension;
page_item<PAGE_CELLS> page_cells;
page_item<PAGE_SHAPES> page_shapes;
page_item<PAGE_SHAPES> page_shapes;
page_item<PAGE_IMAGES> page_images;
page_item<PAGE_WIDGETS> page_widgets;
page_item<PAGE_HYPERLINKS> page_hyperlinks;
page_item<PAGE_CELLS> cells;
page_item<PAGE_SHAPES> shapes;
page_item<PAGE_SHAPES> shapes;
page_item<PAGE_IMAGES> images;
// Computed cell aggregations
page_item<PAGE_CELLS> word_cells;
page_item<PAGE_CELLS> line_cells;
page_item<PAGE_CELLS> word_cells;
page_item<PAGE_CELLS> line_cells;
bool word_cells_created = false;
bool line_cells_created = false;
@@ -137,8 +148,14 @@ namespace pdflib
std::shared_ptr<pdf_resource<PAGE_FONTS> > page_fonts;
std::shared_ptr<pdf_resource<PAGE_XOBJECTS> > page_xobjects;
decode_config page_config; // saved at the start of decode_page for use in widget handlers
// AcroForm /DR/Font — loaded once before widget processing, used as
// fallback in decode_ap_stream when the AP stream has no /Resources/Font.
std::shared_ptr<pdf_resource<PAGE_FONTS>> acroform_fonts;
pdf_render_instructions instructions;
pdf_timings timings;
};
@@ -154,8 +171,8 @@ namespace pdflib
{}
pdf_decoder<PAGE>::pdf_decoder(std::shared_ptr<std::string> buffer,
std::optional<std::string> password,
int page_num):
std::optional<std::string> password,
int page_num):
thread_safe(true),
owned_buffer(buffer),
owned_qpdf_document(std::make_unique<QPDF>()),
@@ -171,24 +188,24 @@ namespace pdflib
if(password.has_value())
{
owned_qpdf_document->processMemoryFile(description.c_str(),
owned_buffer->c_str(),
owned_buffer->size(),
password.value().c_str());
owned_qpdf_document->processMemoryFile(description.c_str(),
owned_buffer->c_str(),
owned_buffer->size(),
password.value().c_str());
}
else
{
owned_qpdf_document->processMemoryFile(description.c_str(),
owned_buffer->c_str(),
owned_buffer->size());
owned_qpdf_document->processMemoryFile(description.c_str(),
owned_buffer->c_str(),
owned_buffer->size());
}
std::vector<QPDFObjectHandle> pages = owned_qpdf_document->getAllPages();
if(page_num < 0 || page_num >= static_cast<int>(pages.size()))
{
LOG_S(ERROR) << "page " << page_num << " is out of bounds (0-" << pages.size()-1 << ")";
throw std::out_of_range("page number out of bounds: " + std::to_string(page_num));
LOG_S(ERROR) << "page " << page_num << " is out of bounds (0-" << pages.size()-1 << ")";
throw std::out_of_range("page number out of bounds: " + std::to_string(page_num));
}
qpdf_page = pages.at(page_num);
@@ -204,13 +221,13 @@ namespace pdflib
if(loguru::g_stderr_verbosity==loguru::Verbosity_INFO or
loguru::g_stderr_verbosity==loguru::Verbosity_WARNING)
{
// ignore ...
// ignore ...
}
else if(loguru::g_stderr_verbosity==loguru::Verbosity_ERROR or
loguru::g_stderr_verbosity==loguru::Verbosity_FATAL)
loguru::g_stderr_verbosity==loguru::Verbosity_FATAL)
{
owned_qpdf_document->setSuppressWarnings(true);
//qpdf_document.setMaxWarnings(0); only for later versions ...
owned_qpdf_document->setSuppressWarnings(true);
//qpdf_document.setMaxWarnings(0); only for later versions ...
}
else
{
@@ -218,7 +235,7 @@ namespace pdflib
}
}
int pdf_decoder<PAGE>::get_page_number()
{
return page_number;
@@ -321,11 +338,13 @@ namespace pdflib
void pdf_decoder<PAGE>::decode_page(const decode_config& config)
{
page_config = config;
if(owned_qpdf_document != nullptr)
{
owned_qpdf_document->setSuppressWarnings(!config.keep_qpdf_warnings);
owned_qpdf_document->setSuppressWarnings(!config.keep_qpdf_warnings);
}
utils::timer global, local;
if(config.populate_json_objects)
@@ -423,7 +442,7 @@ namespace pdflib
page_dimension.execute(qpdf_page);
instructions.set_size_instruction(page_dimension.get_media_bbox(),
page_dimension.get_crop_bbox());
page_dimension.get_crop_bbox());
}
void pdf_decoder<PAGE>::decode_resources(const decode_config& config)
@@ -559,8 +578,8 @@ namespace pdflib
page_fonts,
page_grphs,
page_xobjects,
instructions,
timings);
instructions,
timings);
int cnt = 0;
@@ -581,10 +600,56 @@ namespace pdflib
}
}
void pdf_decoder<PAGE>::load_acroform_dr_fonts()
{
LOG_S(INFO) << __FUNCTION__;
// page_fonts is already fully populated (decode_fonts ran before us).
// Make it the base of the chain so AP streams can fall back to page-level
// fonts (e.g. /F2) without any re-parsing.
acroform_fonts = std::make_shared<pdf_resource<PAGE_FONTS>>(page_fonts);
try
{
// Reach the document root regardless of thread-safe vs shared mode.
QPDF* qpdf_ptr = nullptr;
if(thread_safe and owned_qpdf_document)
{
qpdf_ptr = owned_qpdf_document.get();
}
else
{
qpdf_ptr = qpdf_page.getOwningQPDF();
}
if(not qpdf_ptr) { return; }
auto root = qpdf_ptr->getRoot();
if(not root.hasKey("/AcroForm")) { return; }
auto acroform = root.getKey("/AcroForm");
if(not acroform.isDictionary() or not acroform.hasKey("/DR")) { return; }
auto dr = acroform.getKey("/DR");
if(not dr.isDictionary() or not dr.hasKey("/Font")) { return; }
auto dr_font_dict = dr.getKey("/Font");
acroform_fonts->set(dr_font_dict, timings);
LOG_S(INFO) << "loaded " << acroform_fonts->size() << " AcroForm /DR font(s)";
}
catch(const std::exception& e)
{
LOG_S(WARNING) << "load_acroform_dr_fonts failed: " << e.what();
}
}
void pdf_decoder<PAGE>::decode_annots_from_qpdf()
{
LOG_S(INFO) << __FUNCTION__;
load_acroform_dr_fonts();
if(not qpdf_page.isDictionary())
{
return;
@@ -600,9 +665,9 @@ namespace pdflib
}
else
{
auto annot_json = to_json(annot);
LOG_S(INFO) << "annot: " << annot_json.dump(2);
auto annot_json = to_json(annot);
LOG_S(INFO) << "annot: " << annot_json.dump(2);
extract_page_items_from_annots(annot);
}
}
@@ -637,19 +702,19 @@ namespace pdflib
{
QPDFObjectHandle annot = annots.getArrayItem(l);
if(annot.isString())
{
auto annots_json = to_json(annots);
LOG_S(WARNING) << "skipping annot, it is a string: " << annots_json.dump(2);
continue;
}
if(annot.isString())
{
auto annots_json = to_json(annots);
LOG_S(WARNING) << "skipping annot, it is a string: " << annots_json.dump(2);
continue;
}
if(not annot.isDictionary())
{
LOG_S(WARNING) << "skipping annot, not of type `dict`!";
continue;
}
if(not annot.isDictionary())
{
LOG_S(WARNING) << "skipping annot, not of type `dict`!";
continue;
}
// auto annot_json = to_json(annot);
// LOG_S(INFO) << "annot " << l << ": " << annot_json.dump(2);
@@ -665,22 +730,24 @@ namespace pdflib
continue;
}
LOG_S(INFO) << "type: " << type << ", subtype: " << subtype;
// LOG_S(INFO) << "type: " << type << ", subtype: " << subtype;
if(subtype=="/Widget" and
/*
if(subtype=="/Widget" and
annot.hasKey("/Rect") and
annot.getKey("/Rect").isArray() and
annot.hasKey("/V") and
annot.hasKey("/T")
)
{
add_page_cell_from_annot(annot);
}
else*/
if(subtype=="/Link" and
annot.hasKey("/Rect") and
annot.getKey("/Rect").isArray() and
annot.hasKey("/V") and
annot.hasKey("/T")
annot.hasKey("/A")
)
{
add_page_cell_from_annot(annot);
}
else if(subtype=="/Link" and
annot.hasKey("/Rect") and
annot.getKey("/Rect").isArray() and
annot.hasKey("/A")
)
{
add_page_hyperlink_from_annot(annot);
}
@@ -698,75 +765,10 @@ namespace pdflib
}
}
void pdf_decoder<PAGE>::add_page_cell_from_annot(QPDFObjectHandle annot)
{
auto rect = annot.getKey("/Rect");
std::array<double, 4> bbox = {0., 0., 0., 0.};
for(int l=0; l<rect.getArrayNItems() and l<bbox.size(); l++)
{
QPDFObjectHandle num = rect.getArrayItem(l);
if(num.isNumber())
{
bbox[l] = num.getNumericValue();
}
}
auto [has_value, text] = to_string(annot, "/V");
if(not has_value)
{
text = "<unknown>";
}
page_item<PAGE_CELL> cell;
{
cell.widget = true;
cell.x0 = bbox[0];
cell.y0 = bbox[1];
cell.x1 = bbox[2];
cell.y1 = bbox[3];
cell.r_x0 = bbox[0];
cell.r_y0 = bbox[1];
cell.r_x1 = bbox[2];
cell.r_y1 = bbox[1];
cell.r_x2 = bbox[2];
cell.r_y2 = bbox[3];
cell.r_x3 = bbox[0];
cell.r_y3 = bbox[3];
cell.text = text;
cell.rendering_mode = 0;
cell.space_width = 0;
//cell.chars = {};//chars;
//cell.widths = {};//widths;
cell.enc_name = "Form-font"; //font.get_encoding_name();
cell.font_enc = "Form-font"; //to_string(font.get_encoding());
cell.font_key = "Form-font"; //font.get_key();
cell.font_name = "Form-font"; //font.get_name();
cell.font_size = 0; //font_size/1000.0;
cell.italic = false;
cell.bold = false;
cell.ocr = false;
cell.confidence = -1.0;
cell.stack_size = -1;
cell.block_count = -1;
cell.instr_count = -1;
}
page_cells.push_back(cell);
}
void pdf_decoder<PAGE>::add_page_hyperlink_from_annot(QPDFObjectHandle annot)
{
LOG_S(INFO) << __FUNCTION__;
auto rect = annot.getKey("/Rect");
std::array<double, 4> bbox = {0., 0., 0., 0.};
@@ -808,6 +810,8 @@ namespace pdflib
void pdf_decoder<PAGE>::add_page_widget_from_annot(QPDFObjectHandle annot)
{
LOG_S(INFO) << __FUNCTION__;
auto rect = annot.getKey("/Rect");
std::array<double, 4> bbox = {0., 0., 0., 0.};
@@ -820,6 +824,40 @@ namespace pdflib
}
}
auto [has_value, ft_str] = to_string(annot, "/FT");
if(not has_value)
{
ft_str = "";
}
if(ft_str=="/Tx")
{
add_textfield(annot, bbox);
}
else if(ft_str=="/Btn")
{
add_button(annot, bbox);
}
else if(ft_str=="/Ch")
{
add_choice(annot, bbox);
}
else if(ft_str=="/Sig")
{
add_signature(annot, bbox);
}
else
{
LOG_S(WARNING) << "undefined ft: " << ft_str;
}
}
void pdf_decoder<PAGE>::add_textfield(QPDFObjectHandle annot,
const std::array<double, 4>& bbox)
{
LOG_S(INFO) << __FUNCTION__;
auto [has_value, text] = to_string(annot, "/V");
if(not has_value)
{
@@ -840,6 +878,8 @@ namespace pdflib
page_item<PAGE_WIDGET> widget;
{
widget.name = TEXT_FIELD;
widget.x0 = bbox[0];
widget.y0 = bbox[1];
widget.x1 = bbox[2];
@@ -850,6 +890,233 @@ namespace pdflib
widget.field_type = field_type;
}
page_widgets.push_back(widget);
// Emit a render instruction so the renderer draws a light-blue rectangle
// over the widget area.
{
text_widget_instruction winstr(text,
bbox[0], bbox[1],
bbox[2], bbox[3],
bbox[0], bbox[1],
bbox[2], bbox[1],
bbox[2], bbox[3],
bbox[0], bbox[3]);
instructions.add_widget_instruction(std::move(winstr));
}
// Parse /AP/N (Normal appearance stream) to extract the actual rendered
// text cells positioned within the widget bounding box.
if(not annot.hasKey("/AP")) { return; }
auto ap = annot.getKey("/AP");
if(not ap.isDictionary() or not ap.hasKey("/N")) { return; }
decode_ap_stream(ap.getKey("/N"), bbox);
}
void pdf_decoder<PAGE>::add_button(QPDFObjectHandle annot,
const std::array<double, 4>& bbox)
{
LOG_S(INFO) << __FUNCTION__;
auto [has_value, text] = to_string(annot, "/V");
if(not has_value)
{
text = "";
}
auto [has_field_name, field_name] = to_string(annot, "/T");
if(not has_field_name)
{
field_name = "";
}
auto [has_field_type, field_type] = to_string(annot, "/FT");
if(not has_field_type)
{
field_type = "";
}
page_item<PAGE_WIDGET> widget;
{
widget.name = BUTTON;
widget.x0 = bbox[0];
widget.y0 = bbox[1];
widget.x1 = bbox[2];
widget.y1 = bbox[3];
widget.text = text;
widget.field_name = field_name;
widget.field_type = field_type;
}
page_widgets.push_back(widget);
}
void pdf_decoder<PAGE>::add_choice(QPDFObjectHandle annot,
const std::array<double, 4>& bbox)
{
LOG_S(INFO) << __FUNCTION__;
auto [has_value, text] = to_string(annot, "/V");
if(not has_value)
{
text = "";
}
auto [has_field_name, field_name] = to_string(annot, "/T");
if(not has_field_name)
{
field_name = "";
}
auto [has_field_type, field_type] = to_string(annot, "/FT");
if(not has_field_type)
{
field_type = "";
}
page_item<PAGE_WIDGET> widget;
{
widget.name = CHOICE;
widget.x0 = bbox[0];
widget.y0 = bbox[1];
widget.x1 = bbox[2];
widget.y1 = bbox[3];
widget.text = text;
widget.field_name = field_name;
widget.field_type = field_type;
}
page_widgets.push_back(widget);
}
void pdf_decoder<PAGE>::add_signature(QPDFObjectHandle annot,
const std::array<double, 4>& bbox)
{
LOG_S(INFO) << __FUNCTION__;
auto [has_value, text] = to_string(annot, "/V");
if(not has_value)
{
text = "";
}
auto [has_field_name, field_name] = to_string(annot, "/T");
if(not has_field_name)
{
field_name = "";
}
auto [has_field_type, field_type] = to_string(annot, "/FT");
if(not has_field_type)
{
field_type = "";
}
page_item<PAGE_WIDGET> widget;
{
widget.name = SIGNATURE;
widget.x0 = bbox[0];
widget.y0 = bbox[1];
widget.x1 = bbox[2];
widget.y1 = bbox[3];
widget.text = text;
widget.field_name = field_name;
widget.field_type = field_type;
}
page_widgets.push_back(widget);
}
void pdf_decoder<PAGE>::decode_ap_stream(QPDFObjectHandle ap_stream,
const std::array<double, 4>& bbox)
{
LOG_S(INFO) << __FUNCTION__;
if(not ap_stream.isStream())
{
LOG_S(WARNING) << "AP/N is not a stream, skipping";
return;
}
// Font fallback chain (built once in load_acroform_dr_fonts, reused here):
// ap_fonts (AP stream's own /Resources/Font — most specific)
// → acroform_fonts (AcroForm /DR/Font, e.g. /Helv)
// → page_fonts (page-level fonts, e.g. /F2)
//
// No re-parsing: page_fonts and acroform_fonts are already populated.
auto ap_fonts = std::make_shared<pdf_resource<PAGE_FONTS>>(acroform_fonts);
if(ap_stream.hasKey("/Resources"))
{
auto ap_resources = ap_stream.getKey("/Resources");
if(ap_resources.isDictionary() and ap_resources.hasKey("/Font"))
{
auto ap_font_dict = ap_resources.getKey("/Font");
ap_fonts->set(ap_font_dict, timings);
}
}
// Temporary containers — only page_cells is of interest.
page_item<PAGE_DIMENSION> ap_dimension;
page_item<PAGE_CELLS> ap_cells;
page_item<PAGE_SHAPES> ap_shapes;
page_item<PAGE_IMAGES> ap_images;
pdf_render_instructions ap_instructions; // discarded after this call
pdf_decoder<STREAM> stream_decoder(page_config,
ap_dimension,
ap_cells,
ap_shapes,
ap_images,
ap_fonts,
page_grphs,
page_xobjects,
ap_instructions,
timings);
std::vector<qpdf_stream_instruction> parameters;
stream_decoder.decode(ap_stream);
stream_decoder.interprete(parameters);
// The AP stream uses a local coordinate system whose origin is the
// bottom-left corner of the widget /Rect. Shift every cell by
// (bbox[0], bbox[1]) to bring it into page coordinate space.
const double ox = bbox[0];
const double oy = bbox[1];
for(auto& cell : ap_cells)
{
cell.x0 += ox; cell.y0 += oy;
cell.x1 += ox; cell.y1 += oy;
cell.r_x0 += ox; cell.r_y0 += oy;
cell.r_x1 += ox; cell.r_y1 += oy;
cell.r_x2 += ox; cell.r_y2 += oy;
cell.r_x3 += ox; cell.r_y3 += oy;
cell.widget = true;
page_cells.push_back(cell);
// Re-emit a text_instruction in page coordinates so the renderer
// draws the glyph outlines on top of the light-blue widget rect.
text_instruction tinstr(cell.text,
cell.font_enc,
cell.font_key,
cell.font_name,
cell.enc_name,
cell.font_name, // base_font — best available proxy
cell.font_size,
cell.r_x0, cell.r_y0,
cell.r_x1, cell.r_y1,
cell.r_x2, cell.r_y2,
cell.r_x3, cell.r_y3,
0.0, 0.0, // font_ascent_norm / font_descent_norm
cell.r_x0, cell.r_y0); // base point
instructions.add_text_instruction(std::move(tinstr));
}
LOG_S(INFO) << "AP stream yielded " << ap_cells.size() << " cell(s) for widget";
}
void pdf_decoder<PAGE>::rotate_contents()
+30
View File
@@ -35,6 +35,7 @@ namespace pdflib
void render_text(text_instruction& instr);
void render_text_legacy_v2(text_instruction& instr);
void render_text_legacy(text_instruction& instr);
void render_widget(text_widget_instruction& instr);
void render_bitmap(bitmap_instruction& instr);
void render_shape(shape_instruction& instr);
@@ -837,6 +838,35 @@ namespace pdflib
ctx.end();
}
// ---------------------------------------------------------------------------
// render_widget
//
// Draws the widget's rotated bounding quad as a semi-transparent light-blue
// filled polygon. The text value is not rendered.
// ---------------------------------------------------------------------------
inline void renderer<BLEND2D>::render_widget(text_widget_instruction& instr)
{
LOG_S(INFO) << __FUNCTION__ << " text='" << instr.get_text() << "'";
if (shape_[0] == 0 or shape_[1] == 0) { return; }
BLPath path;
path.move_to(canvas_x(instr.get_r_x0()), canvas_y(instr.get_r_y0()));
path.line_to(canvas_x(instr.get_r_x1()), canvas_y(instr.get_r_y1()));
path.line_to(canvas_x(instr.get_r_x2()), canvas_y(instr.get_r_y2()));
path.line_to(canvas_x(instr.get_r_x3()), canvas_y(instr.get_r_y3()));
path.close();
BLContext ctx(image_);
ctx.set_fill_style(BLRgba32(0x660099FFu)); // A=40%, light blue
ctx.fill_path(path);
ctx.set_stroke_style(BLRgba32(0xFF0099FFu)); // A=100%, blue border
ctx.set_stroke_width(1);
ctx.stroke_path(path);
ctx.end();
}
// ---------------------------------------------------------------------------
// render_shape
// ---------------------------------------------------------------------------
+10
View File
@@ -20,6 +20,8 @@ namespace pdflib
void render_text(text_instruction& instr);
void render_widget(text_widget_instruction& instr);
void render_bitmap(bitmap_instruction& instr);
void render_shape(shape_instruction& instr);
@@ -66,6 +68,14 @@ namespace pdflib
<< instr.get_r_x3() << ", " << instr.get_r_y3() << ")]";
}
inline void renderer<NAIVE>::render_widget(text_widget_instruction& instr)
{
LOG_S(INFO) << __FUNCTION__
<< " text='" << instr.get_text() << "'"
<< " bbox=[(" << instr.get_x0() << ", " << instr.get_y0() << "), ("
<< instr.get_x1() << ", " << instr.get_y1() << ")]";
}
inline void renderer<NAIVE>::render_bitmap(bitmap_instruction& instr)
{
LOG_S(INFO) << __FUNCTION__
+2
View File
@@ -35,6 +35,8 @@ namespace pdflib
void render_text(text_instruction& instr) { throw std::logic_error(__FUNCTION__); }
void render_widget(text_widget_instruction& instr) { throw std::logic_error(__FUNCTION__); }
void render_bitmap(bitmap_instruction& instr) { throw std::logic_error(__FUNCTION__); }
void render_shape(shape_instruction& instr) { throw std::logic_error(__FUNCTION__); }
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,113 @@
(063.41, 711.08) (102.09, 711.08) (102.09, 717.89) (063.41, 717.89) /T1_0 Invoice Date <|special_separator|>
(153.54, 711.08) (181.95, 711.08) (181.95, 717.89) (153.54, 717.89) /T1_0 Invoice # <|special_separator|>
(260.01, 711.08) (285.48, 711.08) (285.48, 717.89) (260.01, 717.89) /T1_0 Order # <|special_separator|>
(416.60, 711.08) (470.40, 711.08) (470.40, 717.89) (416.60, 717.89) /T1_0 Other References <|special_separator|>
(054.00, 658.22) (123.38, 658.22) (123.38, 665.78) (054.00, 665.78) /T1_1 Seller/Shipper <|special_separator|>
(139.00, 658.21) (160.36, 658.21) (160.36, 665.03) (139.00, 665.03) /T1_0 Name: <|special_separator|>
(139.00, 638.21) (166.35, 638.21) (166.35, 645.03) (139.00, 645.03) /T1_0 Address: <|special_separator|>
(054.00, 618.22) (095.15, 618.22) (095.15, 625.78) (054.00, 625.78) /T1_1 ultimate <|special_separator|>
(139.00, 618.21) (160.36, 618.21) (160.36, 625.03) (139.00, 625.03) /T1_0 Name: <|special_separator|>
(054.00, 607.62) (105.95, 607.62) (105.95, 615.18) (054.00, 615.18) /T1_1 conSignee <|special_separator|>
(139.00, 598.21) (166.35, 598.21) (166.35, 605.03) (139.00, 605.03) /T1_0 Address: <|special_separator|>
(139.00, 578.21) (155.67, 578.21) (155.67, 585.03) (139.00, 585.03) /T1_0 Type: <|special_separator|>
(139.00, 558.21) (160.36, 558.21) (160.36, 565.03) (139.00, 565.03) /T1_0 Name: <|special_separator|>
(054.00, 558.22) (083.94, 558.22) (083.94, 565.78) (054.00, 565.78) /T1_1 Buyer <|special_separator|>
(054.00, 548.70) (091.96, 548.70) (091.96, 555.56) (054.00, 555.56) /T1_2 If other than <|special_separator|>
(091.99, 548.64) (117.30, 548.64) (117.30, 554.84) (091.99, 554.84) /C0_0 ultimate <|special_separator|>
(054.00, 538.84) (083.65, 538.84) (083.65, 545.69) (054.00, 545.69) /T1_2 consignee <|special_separator|>
(139.00, 538.21) (166.35, 538.21) (166.35, 545.03) (139.00, 545.03) /T1_0 Address: <|special_separator|>
(054.00, 520.71) (097.04, 520.71) (097.04, 527.53) (054.00, 527.53) /T1_0 Port of Lading <|special_separator|>
(310.00, 520.71) (370.58, 520.71) (370.58, 527.53) (310.00, 527.53) /T1_0 Total No. Packages <|special_separator|>
(310.00, 504.71) (387.11, 504.71) (387.11, 511.53) (310.00, 511.53) /T1_0 Total Gross Weight (KG) <|special_separator|>
(054.00, 488.71) (108.52, 488.71) (108.52, 495.52) (054.00, 495.52) /T1_0 Exporting Carrier <|special_separator|>
(310.00, 488.71) (351.42, 488.71) (351.42, 495.52) (310.00, 495.52) /T1_0 Cubic Meters <|special_separator|>
(054.00, 472.71) (089.29, 472.71) (089.29, 479.52) (054.00, 479.52) /T1_0 Incoterms® <|special_separator|>
(310.00, 474.93) (367.02, 474.93) (367.02, 481.75) (310.00, 481.75) /T1_0 Marks & Numbers <|special_separator|>
(054.00, 456.70) (094.53, 456.70) (094.53, 463.52) (054.00, 463.52) /T1_0 Named Point <|special_separator|>
(054.00, 440.70) (095.66, 440.70) (095.66, 447.52) (054.00, 447.52) /T1_0 Terms of Sale <|special_separator|>
(054.00, 424.70) (106.27, 424.70) (106.27, 431.52) (054.00, 431.52) /T1_0 Currency of Sale <|special_separator|>
(069.31, 406.58) (299.56, 406.58) (299.56, 413.16) (069.31, 413.16) /C2_0 Complete & Accurate Commodity Description, USML Category or ECCN, <|special_separator|>
(077.64, 397.58) (289.25, 397.58) (289.25, 404.16) (077.64, 404.16) /C2_0 applicable (including model/serial number/ECCN/USML Category) <|special_separator|>
(311.17, 401.44) (385.05, 401.44) (385.05, 408.02) (311.17, 408.02) /C2_0 Country of Manufacture <|special_separator|>
(398.08, 405.94) (439.38, 405.94) (439.38, 412.52) (398.08, 412.52) /C2_0 Quantity/Unit <|special_separator|>
(439.39, 405.97) (441.54, 405.97) (441.54, 412.79) (439.39, 412.79) /T1_0 <|special_separator|>
(401.98, 396.94) (437.31, 396.94) (437.31, 403.52) (401.98, 403.52) /C2_0 of Measure <|special_separator|>
(461.60, 401.44) (492.21, 401.44) (492.21, 408.02) (461.60, 408.02) /C2_0 Unit Price <|special_separator|>
(521.22, 401.44) (537.37, 401.44) (537.37, 408.02) (521.22, 408.02) /C2_0 Total <|special_separator|>
(400.82, 192.95) (444.01, 192.95) (444.01, 199.77) (400.82, 199.77) /T1_0 Packing Costs <|special_separator|>
(404.15, 176.95) (444.01, 176.95) (444.01, 183.77) (404.15, 183.77) /T1_0 Freight Costs <|special_separator|>
(360.13, 160.95) (443.99, 160.95) (443.99, 167.76) (360.13, 167.76) /T1_0 Other Transportation Costs <|special_separator|>
(050.00, 145.16) (275.63, 145.16) (275.63, 151.99) (050.00, 151.99) /T1_3 It is hereby certified that this invoice shows the actual price of the goods <|special_separator|>
(050.00, 135.15) (273.41, 135.15) (273.41, 141.98) (050.00, 141.98) /T1_3 described, that no other invoice has been or will be issued, and that all <|special_separator|>
(050.00, 125.15) (148.11, 125.15) (148.11, 131.98) (050.00, 131.98) /T1_3 particulars are true and correct. <|special_separator|>
(415.28, 144.94) (444.01, 144.94) (444.01, 151.76) (415.28, 151.76) /T1_0 handling <|special_separator|>
(395.45, 128.94) (443.99, 128.94) (443.99, 135.75) (395.45, 135.75) /T1_0 Insurance Costs <|special_separator|>
(423.74, 112.94) (444.00, 112.94) (444.00, 119.75) (423.74, 119.75) /T1_0 Assists <|special_separator|>
(050.00, 098.16) (208.41, 098.16) (208.41, 104.97) (050.00, 104.97) /T1_0 SIGNATURE & STATUS OF AUThORIzED PERSON <|special_separator|>
(395.50, 096.93) (444.00, 096.93) (444.00, 103.75) (395.50, 103.75) /T1_0 Additional Fees <|special_separator|>
(398.38, 080.93) (444.00, 080.93) (444.00, 087.75) (398.38, 087.75) /T1_0 Duties & Taxes <|special_separator|>
(050.01, 066.16) (094.45, 066.16) (094.45, 072.97) (050.01, 072.97) /T1_0 PRINT NAME <|special_separator|>
(249.01, 066.16) (265.50, 066.16) (265.50, 072.97) (249.01, 072.97) /T1_0 DATE <|special_separator|>
(361.26, 065.13) (444.01, 065.13) (444.01, 071.75) (361.26, 071.75) /T1_1 total invoice value <|special_separator|>
(048.76, 046.04) (269.57, 046.04) (269.57, 052.89) (048.76, 052.89) /T1_2 "Incoterms" is a trademark of the International Chamber of Commerce. <|special_separator|>
(269.78, 046.02) (272.10, 046.02) (272.10, 053.68) (269.78, 053.68) /T1_4 <|special_separator|>
(050.00, 731.61) (348.94, 731.61) (348.94, 754.30) (050.00, 754.30) /T1_1 commercial invoice <|special_separator|>
(050.89, 196.90) (285.69, 196.90) (285.69, 202.53) (050.89, 202.53) /C2_2 These items are controlled by the U.S. government and authorized for export only to the <|special_separator|>
(050.89, 189.70) (279.68, 189.70) (279.68, 195.33) (050.89, 195.33) /C2_2 country of ultimate destination for use by the ultimate consignee or end-user(s) herein <|special_separator|>
(050.89, 182.50) (280.00, 182.50) (280.00, 188.13) (050.89, 188.13) /C2_3 identified. They may not be resold, transferred, or otherwise disposed of, to any other <|special_separator|>
(050.89, 175.30) (295.04, 175.30) (295.04, 180.93) (050.89, 180.93) /C2_3 country or to any person other than the authorized ultimate consignee or end-user(s), either <|special_separator|>
(050.89, 168.10) (279.65, 168.10) (279.65, 173.73) (050.89, 173.73) /C2_2 in their original form or after being incorporated into other items, without first obtaining <|special_separator|>
(050.89, 160.90) (292.68, 160.90) (292.68, 166.53) (050.89, 166.53) /C2_2 approval from the U.S. government or as otherwise authorized by U.S. law and regulations. <|special_separator|>
(053.60, 510.12) (115.45, 510.12) (115.45, 516.70) (053.60, 516.70) /C2_4 Country of Ultimate <|special_separator|>
(053.60, 501.72) (088.61, 501.72) (088.61, 508.30) (053.60, 508.30) /C2_4 Destination <|special_separator|>
(065.26, 693.04) (100.29, 693.04) (100.29, 701.36) (065.26, 701.36) /Helv 01/20/20 <|special_separator|>
(160.47, 693.04) (175.48, 693.04) (175.48, 701.36) (160.47, 701.36) /Helv 002 <|special_separator|>
(257.88, 693.04) (287.90, 693.04) (287.90, 701.36) (257.88, 701.36) /Helv 882991 <|special_separator|>
(442.71, 693.04) (445.71, 693.04) (445.71, 701.36) (442.71, 701.36) /Helv - <|special_separator|>
(170.87, 659.70) (233.90, 659.70) (233.90, 668.02) (170.87, 668.02) /Helv Goodwin Group <|special_separator|>
(170.87, 640.30) (314.94, 640.30) (314.94, 648.62) (170.87, 648.62) /Helv 9189 Elmwood St. Bronx, NY 10465 <|special_separator|>
(170.87, 619.95) (268.40, 619.95) (268.40, 628.28) (170.87, 628.28) /Helv Kerluke, Veum and Crist <|special_separator|>
(170.87, 599.55) (346.43, 599.55) (346.43, 607.88) (170.87, 607.88) /Helv 1499 W Cole Rd Fremont, Ohio(OH), 43420 <|special_separator|>
(170.87, 559.26) (268.40, 559.26) (268.40, 567.59) (170.87, 567.59) /Helv Kerluke, Veum and Crist <|special_separator|>
(170.87, 539.99) (346.43, 539.99) (346.43, 548.31) (170.87, 548.31) /Helv 1499 W Cole Rd Fremont, Ohio(OH), 43420 <|special_separator|>
(138.17, 521.15) (207.18, 521.15) (207.18, 529.48) (138.17, 529.48) /Helv New York Harbor <|special_separator|>
(138.17, 505.90) (156.67, 505.90) (156.67, 514.23) (138.17, 514.23) /Helv USA <|special_separator|>
(138.17, 489.90) (190.67, 489.90) (190.67, 498.23) (138.17, 498.23) /Helv Hintz-Raynor <|special_separator|>
(138.17, 442.47) (220.71, 442.47) (220.71, 450.79) (138.17, 450.79) /Helv Payment in Advance <|special_separator|>
(138.17, 426.33) (189.18, 426.33) (189.18, 434.65) (138.17, 434.65) /Helv US DOLLAR <|special_separator|>
(395.99, 521.15) (411.00, 521.15) (411.00, 529.48) (395.99, 529.48) /Helv 100 <|special_separator|>
(395.99, 505.90) (430.01, 505.90) (430.01, 514.23) (395.99, 514.23) /Helv 8600kgs <|special_separator|>
(395.99, 489.90) (423.51, 489.90) (423.51, 498.23) (395.99, 498.23) /Helv 170.29 <|special_separator|>
(052.00, 376.08) (295.60, 376.08) (295.60, 384.41) (052.00, 384.41) /Helv Original Honda Cover Set Left and Right For XRM 110 Œ Red <|special_separator|>
(338.74, 373.67) (357.24, 373.67) (357.24, 382.00) (338.74, 382.00) /Helv USA <|special_separator|>
(414.17, 373.67) (424.18, 373.67) (424.18, 382.00) (414.17, 382.00) /Helv 10 <|special_separator|>
(468.12, 373.73) (500.64, 373.73) (500.64, 382.05) (468.12, 382.05) /Helv $333.21 <|special_separator|>
(517.82, 373.73) (557.85, 373.73) (557.85, 382.05) (517.82, 382.05) /Helv $3,332.01 <|special_separator|>
(052.00, 340.15) (284.57, 340.15) (284.57, 348.48) (052.00, 348.48) /Helv Original Honda Cover Handle Front (Disk Brake) For Beat <|special_separator|>
(052.00, 331.83) (112.02, 331.83) (112.02, 340.15) (052.00, 340.15) /Helv Carb Version 1 <|special_separator|>
(338.74, 339.85) (357.24, 339.85) (357.24, 348.18) (338.74, 348.18) /Helv USA <|special_separator|>
(414.17, 339.85) (424.18, 339.85) (424.18, 348.18) (414.17, 348.18) /Helv 12 <|special_separator|>
(468.12, 339.80) (500.64, 339.80) (500.64, 348.12) (468.12, 348.12) /Helv $282.92 <|special_separator|>
(517.82, 339.80) (557.85, 339.80) (557.85, 348.12) (517.82, 348.12) /Helv $3,395.04 <|special_separator|>
(052.00, 304.22) (285.57, 304.22) (285.57, 312.55) (052.00, 312.55) /Helv Original Honda Cowl Under (Engine Cover) For Rs 125 Œ <|special_separator|>
(052.00, 295.90) (074.01, 295.90) (074.01, 304.22) (052.00, 304.22) /Helv Black <|special_separator|>
(338.74, 303.95) (357.24, 303.95) (357.24, 312.27) (338.74, 312.27) /Helv USA <|special_separator|>
(414.17, 303.95) (424.18, 303.95) (424.18, 312.27) (414.17, 312.27) /Helv 80 <|special_separator|>
(468.12, 303.86) (500.64, 303.86) (500.64, 312.19) (468.12, 312.19) /Helv $100.00 <|special_separator|>
(517.82, 303.86) (557.85, 303.86) (557.85, 312.19) (517.82, 312.19) /Helv $8,000.00 <|special_separator|>
(052.00, 267.29) (295.60, 267.29) (295.60, 275.61) (052.00, 275.61) /Helv Original Honda Cover Set Left and Right For XRM 110 Œ Red <|special_separator|>
(338.74, 266.85) (357.24, 266.85) (357.24, 275.17) (338.74, 275.17) /Helv USA <|special_separator|>
(414.17, 266.85) (424.18, 266.85) (424.18, 275.17) (414.17, 275.17) /Helv 10 <|special_separator|>
(473.12, 266.93) (500.64, 266.93) (500.64, 275.26) (473.12, 275.26) /Helv $10.73 <|special_separator|>
(525.33, 266.93) (557.85, 266.93) (557.85, 275.26) (525.33, 275.26) /Helv $107.03 <|special_separator|>
(052.00, 082.59) (103.15, 082.59) (103.15, 090.69) (052.00, 090.69) /Helv Jose S Lares <|special_separator|>
(249.24, 082.59) (283.36, 082.59) (283.36, 090.69) (249.24, 090.69) /Helv 01/20/20 <|special_separator|>
(535.38, 193.54) (557.90, 193.54) (557.90, 201.86) (535.38, 201.86) /Helv 12.23 <|special_separator|>
(530.38, 177.59) (557.90, 177.59) (557.90, 185.92) (530.38, 185.92) /Helv 881.21 <|special_separator|>
(540.38, 161.65) (557.90, 161.65) (557.90, 169.97) (540.38, 169.97) /Helv 0.00 <|special_separator|>
(540.38, 145.70) (557.90, 145.70) (557.90, 154.03) (540.38, 154.03) /Helv 0.00 <|special_separator|>
(535.38, 129.76) (557.90, 129.76) (557.90, 138.08) (535.38, 138.08) /Helv 33.11 <|special_separator|>
(540.38, 113.82) (557.90, 113.82) (557.90, 122.14) (540.38, 122.14) /Helv 0.00 <|special_separator|>
(535.38, 097.87) (557.90, 097.87) (557.90, 106.20) (535.38, 106.20) /Helv 88.21 <|special_separator|>
(535.38, 081.93) (557.90, 081.93) (557.90, 090.25) (535.38, 090.25) /Helv 73.00 <|special_separator|>
(512.86, 080.02) (557.90, 080.02) (557.90, 088.35) (512.86, 088.35) /HeBo $15,922.11
@@ -0,0 +1,352 @@
(063.41, 711.08) (085.28, 711.08) (085.28, 717.89) (063.41, 717.89) /T1_0 Invoice <|special_separator|>
(087.51, 711.08) (102.09, 711.08) (102.09, 717.89) (087.51, 717.89) /T1_0 Date <|special_separator|>
(153.54, 711.08) (175.42, 711.08) (175.42, 717.89) (153.54, 717.89) /T1_0 Invoice <|special_separator|>
(177.64, 711.08) (181.95, 711.08) (181.95, 717.89) (177.64, 717.89) /T1_0 # <|special_separator|>
(260.01, 711.08) (278.94, 711.08) (278.94, 717.89) (260.01, 717.89) /T1_0 Order <|special_separator|>
(281.17, 711.08) (285.48, 711.08) (285.48, 717.89) (281.17, 717.89) /T1_0 # <|special_separator|>
(416.60, 711.08) (434.65, 711.08) (434.65, 717.89) (416.60, 717.89) /T1_0 Other <|special_separator|>
(436.87, 711.08) (470.40, 711.08) (470.40, 717.89) (436.87, 717.89) /T1_0 References <|special_separator|>
(054.00, 658.22) (123.38, 658.22) (123.38, 665.78) (054.00, 665.78) /T1_1 Seller/Shipper <|special_separator|>
(139.00, 658.21) (160.36, 658.21) (160.36, 665.03) (139.00, 665.03) /T1_0 Name: <|special_separator|>
(139.00, 638.21) (166.35, 638.21) (166.35, 645.03) (139.00, 645.03) /T1_0 Address: <|special_separator|>
(054.00, 618.22) (095.15, 618.22) (095.15, 625.78) (054.00, 625.78) /T1_1 ultimate <|special_separator|>
(139.00, 618.21) (160.36, 618.21) (160.36, 625.03) (139.00, 625.03) /T1_0 Name: <|special_separator|>
(054.00, 607.62) (105.95, 607.62) (105.95, 615.18) (054.00, 615.18) /T1_1 conSignee <|special_separator|>
(139.00, 598.21) (166.35, 598.21) (166.35, 605.03) (139.00, 605.03) /T1_0 Address: <|special_separator|>
(139.00, 578.21) (155.67, 578.21) (155.67, 585.03) (139.00, 585.03) /T1_0 Type: <|special_separator|>
(139.00, 558.21) (160.36, 558.21) (160.36, 565.03) (139.00, 565.03) /T1_0 Name: <|special_separator|>
(054.00, 558.22) (081.19, 558.22) (081.19, 565.78) (054.00, 565.78) /T1_1 Buyer <|special_separator|>
(054.00, 548.70) (057.58, 548.70) (057.58, 555.56) (054.00, 555.56) /T1_2 If <|special_separator|>
(059.68, 548.70) (074.81, 548.70) (074.81, 555.56) (059.68, 555.56) /T1_2 other <|special_separator|>
(076.90, 548.70) (089.90, 548.70) (089.90, 555.56) (076.90, 555.56) /T1_2 than <|special_separator|>
(091.99, 548.64) (115.66, 548.64) (115.66, 554.84) (091.99, 554.84) /C0_0 ultimate <|special_separator|>
(054.00, 538.84) (083.65, 538.84) (083.65, 545.69) (054.00, 545.69) /T1_2 consignee <|special_separator|>
(139.00, 538.21) (166.35, 538.21) (166.35, 545.03) (139.00, 545.03) /T1_0 Address: <|special_separator|>
(054.00, 520.71) (065.80, 520.71) (065.80, 527.53) (054.00, 527.53) /T1_0 Port <|special_separator|>
(068.02, 520.71) (073.98, 520.71) (073.98, 527.53) (068.02, 527.53) /T1_0 of <|special_separator|>
(076.21, 520.71) (097.04, 520.71) (097.04, 527.53) (076.21, 527.53) /T1_0 Lading <|special_separator|>
(310.00, 520.71) (324.71, 520.71) (324.71, 527.53) (310.00, 527.53) /T1_0 Total <|special_separator|>
(326.94, 520.71) (338.98, 520.71) (338.98, 527.53) (326.94, 527.53) /T1_0 No. <|special_separator|>
(341.21, 520.71) (370.58, 520.71) (370.58, 527.53) (341.21, 527.53) /T1_0 Packages <|special_separator|>
(310.00, 504.71) (324.71, 504.71) (324.71, 511.53) (310.00, 511.53) /T1_0 Total <|special_separator|>
(326.94, 504.71) (344.98, 504.71) (344.98, 511.53) (326.94, 511.53) /T1_0 Gross <|special_separator|>
(347.21, 504.71) (369.90, 504.71) (369.90, 511.53) (347.21, 511.53) /T1_0 Weight <|special_separator|>
(372.12, 504.71) (387.11, 504.71) (387.11, 511.53) (372.12, 511.53) /T1_0 (KG) <|special_separator|>
(054.00, 488.71) (084.08, 488.71) (084.08, 495.52) (054.00, 495.52) /T1_0 Exporting <|special_separator|>
(086.31, 488.71) (108.52, 488.71) (108.52, 495.52) (086.31, 495.52) /T1_0 Carrier <|special_separator|>
(310.00, 488.71) (328.07, 488.71) (328.07, 495.52) (310.00, 495.52) /T1_0 Cubic <|special_separator|>
(330.30, 488.71) (351.42, 488.71) (351.42, 495.52) (330.30, 495.52) /T1_0 Meters <|special_separator|>
(054.00, 472.71) (089.29, 472.71) (089.29, 479.52) (054.00, 479.52) /T1_0 Incoterms® <|special_separator|>
(310.00, 474.93) (329.32, 474.93) (329.32, 481.75) (310.00, 481.75) /T1_0 Marks <|special_separator|>
(331.55, 474.93) (336.42, 474.93) (336.42, 481.75) (331.55, 481.75) /T1_0 & <|special_separator|>
(338.64, 474.93) (367.02, 474.93) (367.02, 481.75) (338.64, 481.75) /T1_0 Numbers <|special_separator|>
(054.00, 456.70) (077.53, 456.70) (077.53, 463.52) (054.00, 463.52) /T1_0 Named <|special_separator|>
(079.76, 456.70) (094.53, 456.70) (094.53, 463.52) (079.76, 463.52) /T1_0 Point <|special_separator|>
(054.00, 440.70) (071.61, 440.70) (071.61, 447.52) (054.00, 447.52) /T1_0 Terms <|special_separator|>
(073.83, 440.70) (079.80, 440.70) (079.80, 447.52) (073.83, 447.52) /T1_0 of <|special_separator|>
(082.02, 440.70) (095.66, 440.70) (095.66, 447.52) (082.02, 447.52) /T1_0 Sale <|special_separator|>
(054.00, 424.70) (082.22, 424.70) (082.22, 431.52) (054.00, 431.52) /T1_0 Currency <|special_separator|>
(084.44, 424.70) (090.41, 424.70) (090.41, 431.52) (084.44, 431.52) /T1_0 of <|special_separator|>
(092.63, 424.70) (106.27, 424.70) (106.27, 431.52) (092.63, 431.52) /T1_0 Sale <|special_separator|>
(069.31, 406.58) (099.51, 406.58) (099.51, 413.16) (069.31, 413.16) /C2_0 Complete <|special_separator|>
(101.52, 406.58) (106.19, 406.58) (106.19, 413.16) (101.52, 413.16) /C2_0 & <|special_separator|>
(108.21, 406.58) (136.08, 406.58) (136.08, 413.16) (108.21, 413.16) /C2_0 Accurate <|special_separator|>
(138.09, 406.58) (173.76, 406.58) (173.76, 413.16) (138.09, 413.16) /C2_0 Commodity <|special_separator|>
(175.80, 406.58) (213.13, 406.58) (213.13, 413.16) (175.80, 413.16) /C2_0 Description, <|special_separator|>
(215.15, 406.58) (234.70, 406.58) (234.70, 413.16) (215.15, 413.16) /C2_0 USML <|special_separator|>
(236.72, 406.58) (265.37, 406.58) (265.37, 413.16) (236.72, 413.16) /C2_0 Category <|special_separator|>
(267.39, 406.58) (273.65, 406.58) (273.65, 413.16) (267.39, 413.16) /C2_0 or <|special_separator|>
(275.66, 406.58) (297.58, 406.58) (297.58, 413.16) (275.66, 413.16) /C2_0 ECCN, <|special_separator|>
(077.64, 397.58) (109.46, 397.58) (109.46, 404.16) (077.64, 404.16) /C2_0 applicable <|special_separator|>
(111.44, 397.58) (142.72, 397.58) (142.72, 404.16) (111.44, 404.16) /C2_0 (including <|special_separator|>
(144.74, 397.58) (184.09, 397.58) (184.09, 404.16) (144.74, 404.16) /C2_0 model/serial <|special_separator|>
(186.11, 397.58) (255.21, 397.58) (255.21, 404.16) (186.11, 404.16) /C2_0 number/ECCN/USML <|special_separator|>
(257.35, 397.58) (289.25, 397.58) (289.25, 404.16) (257.35, 404.16) /C2_0 Category) <|special_separator|>
(311.17, 401.44) (335.89, 401.44) (335.89, 408.02) (311.17, 408.02) /C2_0 Country <|special_separator|>
(337.91, 401.44) (343.78, 401.44) (343.78, 408.02) (337.91, 408.02) /C2_0 of <|special_separator|>
(345.80, 401.44) (385.05, 401.44) (385.05, 408.02) (345.80, 408.02) /C2_0 Manufacture <|special_separator|>
(398.08, 405.94) (439.38, 405.94) (439.38, 412.52) (398.08, 412.52) /C2_0 Quantity/Unit <|special_separator|>
(401.98, 396.94) (407.86, 396.94) (407.86, 403.52) (401.98, 403.52) /C2_0 of <|special_separator|>
(409.87, 396.94) (437.31, 396.94) (437.31, 403.52) (409.87, 403.52) /C2_0 Measure <|special_separator|>
(461.60, 401.44) (474.13, 401.44) (474.13, 408.02) (461.60, 408.02) /C2_0 Unit <|special_separator|>
(476.16, 401.44) (492.21, 401.44) (492.21, 408.02) (476.16, 408.02) /C2_0 Price <|special_separator|>
(521.22, 401.44) (537.37, 401.44) (537.37, 408.02) (521.22, 408.02) /C2_0 Total <|special_separator|>
(400.82, 192.95) (425.11, 192.95) (425.11, 199.77) (400.82, 199.77) /T1_0 Packing <|special_separator|>
(427.33, 192.95) (444.01, 192.95) (444.01, 199.77) (427.33, 199.77) /T1_0 Costs <|special_separator|>
(404.15, 176.95) (425.11, 176.95) (425.11, 183.77) (404.15, 183.77) /T1_0 Freight <|special_separator|>
(427.33, 176.95) (444.01, 176.95) (444.01, 183.77) (427.33, 183.77) /T1_0 Costs <|special_separator|>
(360.13, 160.95) (378.18, 160.95) (378.18, 167.76) (360.13, 167.76) /T1_0 Other <|special_separator|>
(380.40, 160.95) (425.09, 160.95) (425.09, 167.76) (380.40, 167.76) /T1_0 Transportation <|special_separator|>
(427.32, 160.95) (443.99, 160.95) (443.99, 167.76) (427.32, 167.76) /T1_0 Costs <|special_separator|>
(050.00, 145.16) (053.53, 145.16) (053.53, 151.99) (050.00, 151.99) /T1_3 It <|special_separator|>
(055.76, 145.16) (060.40, 145.16) (060.40, 151.99) (055.76, 151.99) /T1_3 is <|special_separator|>
(062.62, 145.16) (083.79, 145.16) (083.79, 151.99) (062.62, 151.99) /T1_3 hereby <|special_separator|>
(086.01, 145.16) (110.94, 145.16) (110.94, 151.99) (086.01, 151.99) /T1_3 certified <|special_separator|>
(113.16, 145.16) (124.62, 145.16) (124.62, 151.99) (113.16, 151.99) /T1_3 that <|special_separator|>
(126.84, 145.16) (137.02, 145.16) (137.02, 151.99) (126.84, 151.99) /T1_3 this <|special_separator|>
(139.25, 145.16) (161.09, 145.16) (161.09, 151.99) (139.25, 151.99) /T1_3 invoice <|special_separator|>
(163.32, 145.16) (182.04, 145.16) (182.04, 151.99) (163.32, 151.99) /T1_3 shows <|special_separator|>
(184.26, 145.16) (193.52, 145.16) (193.52, 151.99) (184.26, 151.99) /T1_3 the <|special_separator|>
(195.74, 145.16) (214.66, 145.16) (214.66, 151.99) (195.74, 151.99) /T1_3 actual <|special_separator|>
(216.89, 145.16) (232.34, 145.16) (232.34, 151.99) (216.89, 151.99) /T1_3 price <|special_separator|>
(234.57, 145.16) (240.54, 145.16) (240.54, 151.99) (234.57, 151.99) /T1_3 of <|special_separator|>
(242.77, 145.16) (252.02, 145.16) (252.02, 151.99) (242.77, 151.99) /T1_3 the <|special_separator|>
(254.25, 145.16) (273.47, 145.16) (273.47, 151.99) (254.25, 151.99) /T1_3 goods <|special_separator|>
(050.00, 135.15) (082.57, 135.15) (082.57, 141.98) (050.00, 141.98) /T1_3 described, <|special_separator|>
(084.79, 135.15) (096.25, 135.15) (096.25, 141.98) (084.79, 141.98) /T1_3 that <|special_separator|>
(098.47, 135.15) (106.19, 135.15) (106.19, 141.98) (098.47, 141.98) /T1_3 no <|special_separator|>
(108.41, 135.15) (124.23, 135.15) (124.23, 141.98) (108.41, 141.98) /T1_3 other <|special_separator|>
(126.46, 135.15) (148.30, 135.15) (148.30, 141.98) (126.46, 141.98) /T1_3 invoice <|special_separator|>
(150.53, 135.15) (161.23, 135.15) (161.23, 141.98) (150.53, 141.98) /T1_3 has <|special_separator|>
(163.46, 135.15) (178.93, 135.15) (178.93, 141.98) (163.46, 141.98) /T1_3 been <|special_separator|>
(181.16, 135.15) (187.57, 135.15) (187.57, 141.98) (181.16, 141.98) /T1_3 or <|special_separator|>
(189.80, 135.15) (200.27, 135.15) (200.27, 141.98) (189.80, 141.98) /T1_3 will <|special_separator|>
(202.49, 135.15) (210.32, 135.15) (210.32, 141.98) (202.49, 141.98) /T1_3 be <|special_separator|>
(212.55, 135.15) (233.72, 135.15) (233.72, 141.98) (212.55, 141.98) /T1_3 issued, <|special_separator|>
(235.94, 135.15) (247.91, 135.15) (247.91, 141.98) (235.94, 141.98) /T1_3 and <|special_separator|>
(250.14, 135.15) (261.59, 135.15) (261.59, 141.98) (250.14, 141.98) /T1_3 that <|special_separator|>
(263.82, 135.15) (271.25, 135.15) (271.25, 141.98) (263.82, 141.98) /T1_3 all <|special_separator|>
(050.00, 125.15) (082.53, 125.15) (082.53, 131.98) (050.00, 131.98) /T1_3 particulars <|special_separator|>
(084.76, 125.15) (094.79, 125.15) (094.79, 131.98) (084.76, 131.98) /T1_3 are <|special_separator|>
(097.02, 125.15) (108.52, 125.15) (108.52, 131.98) (097.02, 131.98) /T1_3 true <|special_separator|>
(110.75, 125.15) (122.72, 125.15) (122.72, 131.98) (110.75, 131.98) /T1_3 and <|special_separator|>
(124.95, 125.15) (148.11, 125.15) (148.11, 131.98) (124.95, 131.98) /T1_3 correct. <|special_separator|>
(415.28, 144.94) (444.01, 144.94) (444.01, 151.76) (415.28, 151.76) /T1_0 handling <|special_separator|>
(395.45, 128.94) (425.09, 128.94) (425.09, 135.75) (395.45, 135.75) /T1_0 Insurance <|special_separator|>
(427.32, 128.94) (443.99, 128.94) (443.99, 135.75) (427.32, 135.75) /T1_0 Costs <|special_separator|>
(423.74, 112.94) (444.00, 112.94) (444.00, 119.75) (423.74, 119.75) /T1_0 Assists <|special_separator|>
(050.00, 098.16) (088.53, 098.16) (088.53, 104.97) (050.00, 104.97) /T1_0 SIGNATURE <|special_separator|>
(090.76, 098.16) (095.62, 098.16) (095.62, 104.97) (090.76, 104.97) /T1_0 & <|special_separator|>
(097.85, 098.16) (121.88, 098.16) (121.88, 104.97) (097.85, 104.97) /T1_0 STATUS <|special_separator|>
(124.11, 098.16) (133.69, 098.16) (133.69, 104.97) (124.11, 104.97) /T1_0 OF <|special_separator|>
(135.91, 098.16) (178.94, 098.16) (178.94, 104.97) (135.91, 104.97) /T1_0 AUThORIzED <|special_separator|>
(181.16, 098.16) (208.41, 098.16) (208.41, 104.97) (181.16, 104.97) /T1_0 PERSON <|special_separator|>
(395.50, 096.93) (428.03, 096.93) (428.03, 103.75) (395.50, 103.75) /T1_0 Additional <|special_separator|>
(430.26, 096.93) (444.00, 096.93) (444.00, 103.75) (430.26, 103.75) /T1_0 Fees <|special_separator|>
(398.38, 080.93) (417.29, 080.93) (417.29, 087.75) (398.38, 087.75) /T1_0 Duties <|special_separator|>
(419.52, 080.93) (424.38, 080.93) (424.38, 087.75) (419.52, 087.75) /T1_0 & <|special_separator|>
(426.61, 080.93) (444.00, 080.93) (444.00, 087.75) (426.61, 087.75) /T1_0 Taxes <|special_separator|>
(050.01, 066.16) (068.60, 066.16) (068.60, 072.97) (050.01, 072.97) /T1_0 PRINT <|special_separator|>
(070.83, 066.16) (092.26, 066.16) (092.26, 072.97) (070.83, 072.97) /T1_0 NAME <|special_separator|>
(249.01, 066.16) (265.50, 066.16) (265.50, 072.97) (249.01, 072.97) /T1_0 DATE <|special_separator|>
(361.26, 065.13) (383.93, 065.13) (383.93, 071.75) (361.26, 071.75) /T1_1 total <|special_separator|>
(386.40, 065.13) (417.90, 065.13) (417.90, 071.75) (386.40, 071.75) /T1_1 invoice <|special_separator|>
(420.37, 065.13) (444.01, 065.13) (444.01, 071.75) (420.37, 071.75) /T1_1 value <|special_separator|>
(048.76, 046.04) (084.21, 046.04) (084.21, 052.89) (048.76, 052.89) /T1_2 "Incoterms" <|special_separator|>
(086.59, 046.04) (091.14, 046.04) (091.14, 052.89) (086.59, 052.89) /T1_2 is <|special_separator|>
(093.52, 046.04) (097.41, 046.04) (097.41, 052.89) (093.52, 052.89) /T1_2 a <|special_separator|>
(099.78, 046.04) (131.65, 046.04) (131.65, 052.89) (099.78, 052.89) /T1_2 trademark <|special_separator|>
(134.02, 046.04) (139.94, 046.04) (139.94, 052.89) (134.02, 052.89) /T1_2 of <|special_separator|>
(142.31, 046.04) (151.54, 046.04) (151.54, 052.89) (142.31, 052.89) /T1_2 the <|special_separator|>
(153.91, 046.04) (193.15, 046.04) (193.15, 052.89) (153.91, 052.89) /T1_2 International <|special_separator|>
(195.52, 046.04) (224.06, 046.04) (224.06, 052.89) (195.52, 052.89) /T1_2 Chamber <|special_separator|>
(226.43, 046.04) (232.35, 046.04) (232.35, 052.89) (226.43, 052.89) /T1_2 of <|special_separator|>
(234.72, 046.04) (269.57, 046.04) (269.57, 052.89) (234.72, 052.89) /T1_2 Commerce. <|special_separator|>
(050.00, 731.61) (227.19, 731.61) (227.19, 754.30) (050.00, 754.30) /T1_1 commercial <|special_separator|>
(237.82, 731.61) (348.94, 731.61) (348.94, 754.30) (237.82, 754.30) /T1_1 invoice <|special_separator|>
(050.89, 196.90) (067.56, 196.90) (067.56, 202.53) (050.89, 202.53) /C2_2 These <|special_separator|>
(069.23, 196.90) (083.56, 196.90) (083.56, 202.53) (069.23, 202.53) /C2_2 items <|special_separator|>
(085.23, 196.90) (093.90, 196.90) (093.90, 202.53) (085.23, 202.53) /C2_2 are <|special_separator|>
(095.57, 196.90) (121.58, 196.90) (121.58, 202.53) (095.57, 202.53) /C2_2 controlled <|special_separator|>
(123.25, 196.90) (129.58, 196.90) (129.58, 202.53) (123.25, 202.53) /C2_2 by <|special_separator|>
(131.25, 196.90) (139.59, 196.90) (139.59, 202.53) (131.25, 202.53) /C2_2 the <|special_separator|>
(141.26, 196.90) (152.94, 196.90) (152.94, 202.53) (141.26, 202.53) /C2_2 U.S. <|special_separator|>
(154.61, 196.90) (186.29, 196.90) (186.29, 202.53) (154.61, 202.53) /C2_2 government <|special_separator|>
(187.96, 196.90) (197.97, 196.90) (197.97, 202.53) (187.96, 202.53) /C2_2 and <|special_separator|>
(199.64, 196.90) (227.65, 196.90) (227.65, 202.53) (199.64, 202.53) /C2_2 authorized <|special_separator|>
(229.32, 196.90) (236.32, 196.90) (236.32, 202.53) (229.32, 202.53) /C2_2 for <|special_separator|>
(237.99, 196.90) (254.66, 196.90) (254.66, 202.53) (237.99, 202.53) /C2_2 export <|special_separator|>
(256.34, 196.90) (267.35, 196.90) (267.35, 202.53) (256.34, 202.53) /C2_2 only <|special_separator|>
(269.01, 196.90) (274.02, 196.90) (274.02, 202.53) (269.01, 202.53) /C2_2 to <|special_separator|>
(275.69, 196.90) (284.03, 196.90) (284.03, 202.53) (275.69, 202.53) /C2_2 the <|special_separator|>
(050.89, 189.70) (070.56, 189.70) (070.56, 195.33) (050.89, 195.33) /C2_2 country <|special_separator|>
(072.23, 189.70) (077.23, 189.70) (077.23, 195.33) (072.23, 195.33) /C2_2 of <|special_separator|>
(078.90, 189.70) (099.91, 189.70) (099.91, 195.33) (078.90, 195.33) /C2_2 ultimate <|special_separator|>
(101.58, 189.70) (130.59, 189.70) (130.59, 195.33) (101.58, 195.33) /C2_2 destination <|special_separator|>
(132.26, 189.70) (139.26, 189.70) (139.26, 195.33) (132.26, 195.33) /C2_2 for <|special_separator|>
(140.93, 189.70) (150.60, 189.70) (150.60, 195.33) (140.93, 195.33) /C2_2 use <|special_separator|>
(152.27, 189.70) (158.61, 189.70) (158.61, 195.33) (152.27, 195.33) /C2_2 by <|special_separator|>
(160.27, 189.70) (168.61, 189.70) (168.61, 195.33) (160.27, 195.33) /C2_2 the <|special_separator|>
(170.28, 189.70) (191.29, 189.70) (191.29, 195.33) (170.28, 195.33) /C2_2 ultimate <|special_separator|>
(192.96, 189.70) (220.30, 189.70) (220.30, 195.33) (192.96, 195.33) /C2_2 consignee <|special_separator|>
(222.00, 189.70) (227.33, 189.70) (227.33, 195.33) (222.00, 195.33) /C2_2 or <|special_separator|>
(229.00, 189.70) (259.67, 189.70) (259.67, 195.33) (229.00, 195.33) /C2_2 end-user(s) <|special_separator|>
(261.34, 189.70) (278.01, 189.70) (278.01, 195.33) (261.34, 195.33) /C2_3 herein <|special_separator|>
(050.89, 182.50) (076.57, 182.50) (076.57, 188.13) (050.89, 188.13) /C2_3 identified. <|special_separator|>
(079.90, 182.50) (093.24, 182.50) (093.24, 188.13) (079.90, 188.13) /C2_3 They <|special_separator|>
(094.91, 182.50) (106.24, 182.50) (106.24, 188.13) (094.91, 188.13) /C2_3 may <|special_separator|>
(107.91, 182.50) (116.25, 182.50) (116.25, 188.13) (107.91, 188.13) /C2_3 not <|special_separator|>
(117.92, 182.50) (124.59, 182.50) (124.59, 188.13) (117.92, 188.13) /C2_3 be <|special_separator|>
(126.26, 182.50) (144.27, 182.50) (144.27, 188.13) (126.26, 188.13) /C2_3 resold, <|special_separator|>
(145.93, 182.50) (176.61, 182.50) (176.61, 188.13) (145.93, 188.13) /C2_3 transferred, <|special_separator|>
(178.28, 182.50) (183.61, 182.50) (183.61, 188.13) (178.28, 188.13) /C2_3 or <|special_separator|>
(185.28, 182.50) (210.96, 182.50) (210.96, 188.13) (185.28, 188.13) /C2_3 otherwise <|special_separator|>
(212.62, 182.50) (236.64, 182.50) (236.64, 188.13) (212.62, 188.13) /C2_3 disposed <|special_separator|>
(238.30, 182.50) (244.98, 182.50) (244.98, 188.13) (238.30, 188.13) /C2_3 of, <|special_separator|>
(246.64, 182.50) (251.65, 182.50) (251.65, 188.13) (246.64, 188.13) /C2_3 to <|special_separator|>
(253.32, 182.50) (262.99, 182.50) (262.99, 188.13) (253.32, 188.13) /C2_3 any <|special_separator|>
(264.66, 182.50) (278.33, 182.50) (278.33, 188.13) (264.66, 188.13) /C2_3 other <|special_separator|>
(050.89, 175.30) (070.56, 175.30) (070.56, 180.93) (050.89, 180.93) /C2_3 country <|special_separator|>
(072.23, 175.30) (077.56, 175.30) (077.56, 180.93) (072.23, 180.93) /C2_3 or <|special_separator|>
(079.23, 175.30) (084.24, 175.30) (084.24, 180.93) (079.23, 180.93) /C2_3 to <|special_separator|>
(085.90, 175.30) (095.58, 175.30) (095.58, 180.93) (085.90, 180.93) /C2_3 any <|special_separator|>
(097.24, 175.30) (115.59, 175.30) (115.59, 180.93) (097.24, 180.93) /C2_3 person <|special_separator|>
(117.25, 175.30) (130.93, 175.30) (130.93, 180.93) (117.25, 180.93) /C2_3 other <|special_separator|>
(132.60, 175.30) (144.27, 175.30) (144.27, 180.93) (132.60, 180.93) /C2_3 than <|special_separator|>
(145.94, 175.30) (154.28, 175.30) (154.28, 180.93) (145.94, 180.93) /C2_3 the <|special_separator|>
(155.95, 175.30) (183.96, 175.30) (183.96, 180.93) (155.95, 180.93) /C2_3 authorized <|special_separator|>
(185.63, 175.30) (206.64, 175.30) (206.64, 180.93) (185.63, 180.93) /C2_3 ultimate <|special_separator|>
(208.30, 175.30) (235.65, 175.30) (235.65, 180.93) (208.30, 180.93) /C2_3 consignee <|special_separator|>
(237.32, 175.30) (242.65, 175.30) (242.65, 180.93) (237.32, 180.93) /C2_3 or <|special_separator|>
(244.32, 175.30) (276.68, 175.30) (276.68, 180.93) (244.32, 180.93) /C2_3 end-user(s), <|special_separator|>
(278.37, 175.30) (293.37, 175.30) (293.37, 180.93) (278.37, 180.93) /C2_2 either <|special_separator|>
(050.89, 168.10) (055.56, 168.10) (055.56, 173.73) (050.89, 173.73) /C2_2 in <|special_separator|>
(057.22, 168.10) (068.89, 168.10) (068.89, 173.73) (057.22, 173.73) /C2_2 their <|special_separator|>
(070.56, 168.10) (089.90, 168.10) (089.90, 173.73) (070.56, 173.73) /C2_2 original <|special_separator|>
(091.57, 168.10) (103.57, 168.10) (103.57, 173.73) (091.57, 173.73) /C2_2 form <|special_separator|>
(105.24, 168.10) (110.57, 168.10) (110.57, 173.73) (105.24, 173.73) /C2_2 or <|special_separator|>
(112.24, 168.10) (124.24, 168.10) (124.24, 173.73) (112.24, 173.73) /C2_2 after <|special_separator|>
(125.91, 168.10) (140.59, 168.10) (140.59, 173.73) (125.91, 173.73) /C2_2 being <|special_separator|>
(142.26, 168.10) (175.60, 168.10) (175.60, 173.73) (142.26, 173.73) /C2_2 incorporated <|special_separator|>
(177.27, 168.10) (186.94, 168.10) (186.94, 173.73) (177.27, 173.73) /C2_2 into <|special_separator|>
(188.61, 168.10) (202.29, 168.10) (202.29, 173.73) (188.61, 173.73) /C2_2 other <|special_separator|>
(203.95, 168.10) (219.96, 168.10) (219.96, 173.73) (203.95, 173.73) /C2_2 items, <|special_separator|>
(221.62, 168.10) (240.63, 168.10) (240.63, 173.73) (221.62, 173.73) /C2_2 without <|special_separator|>
(242.30, 168.10) (251.97, 168.10) (251.97, 173.73) (242.30, 173.73) /C2_2 first <|special_separator|>
(253.63, 168.10) (277.98, 168.10) (277.98, 173.73) (253.63, 173.73) /C2_2 obtaining <|special_separator|>
(050.89, 160.90) (073.90, 160.90) (073.90, 166.53) (050.89, 166.53) /C2_2 approval <|special_separator|>
(075.57, 160.90) (087.57, 160.90) (087.57, 166.53) (075.57, 166.53) /C2_2 from <|special_separator|>
(089.23, 160.90) (097.57, 160.90) (097.57, 166.53) (089.23, 166.53) /C2_2 the <|special_separator|>
(099.24, 160.90) (110.91, 160.90) (110.91, 166.53) (099.24, 166.53) /C2_2 U.S. <|special_separator|>
(112.58, 160.90) (144.26, 160.90) (144.26, 166.53) (112.58, 166.53) /C2_2 government <|special_separator|>
(145.93, 160.90) (151.26, 160.90) (151.26, 166.53) (145.93, 166.53) /C2_2 or <|special_separator|>
(152.93, 160.90) (159.27, 160.90) (159.27, 166.53) (152.93, 166.53) /C2_2 as <|special_separator|>
(160.93, 160.90) (186.61, 160.90) (186.61, 166.53) (160.93, 166.53) /C2_2 otherwise <|special_separator|>
(188.28, 160.90) (216.29, 160.90) (216.29, 166.53) (188.28, 166.53) /C2_2 authorized <|special_separator|>
(217.96, 160.90) (224.29, 160.90) (224.29, 166.53) (217.96, 166.53) /C2_2 by <|special_separator|>
(225.96, 160.90) (237.63, 160.90) (237.63, 166.53) (225.96, 166.53) /C2_2 U.S. <|special_separator|>
(239.30, 160.90) (248.30, 160.90) (248.30, 166.53) (239.30, 166.53) /C2_2 law <|special_separator|>
(249.97, 160.90) (259.98, 160.90) (259.98, 166.53) (249.97, 166.53) /C2_2 and <|special_separator|>
(261.64, 160.90) (292.68, 160.90) (292.68, 166.53) (261.64, 166.53) /C2_2 regulations. <|special_separator|>
(053.60, 510.12) (078.11, 510.12) (078.11, 516.70) (053.60, 516.70) /C2_4 Country <|special_separator|>
(080.05, 510.12) (085.89, 510.12) (085.89, 516.70) (080.05, 516.70) /C2_4 of <|special_separator|>
(087.84, 510.12) (113.51, 510.12) (113.51, 516.70) (087.84, 516.70) /C2_4 Ultimate <|special_separator|>
(053.60, 501.72) (088.61, 501.72) (088.61, 508.30) (053.60, 508.30) /C2_4 Destination <|special_separator|>
(065.26, 693.04) (100.29, 693.04) (100.29, 701.36) (065.26, 701.36) /Helv 01/20/20 <|special_separator|>
(160.47, 693.04) (175.48, 693.04) (175.48, 701.36) (160.47, 701.36) /Helv 002 <|special_separator|>
(257.88, 693.04) (287.90, 693.04) (287.90, 701.36) (257.88, 701.36) /Helv 882991 <|special_separator|>
(442.71, 693.04) (445.71, 693.04) (445.71, 701.36) (442.71, 701.36) /Helv - <|special_separator|>
(170.87, 659.70) (206.38, 659.70) (206.38, 668.02) (170.87, 668.02) /Helv Goodwin <|special_separator|>
(208.88, 659.70) (233.90, 659.70) (233.90, 668.02) (208.88, 668.02) /Helv Group <|special_separator|>
(170.87, 640.30) (190.88, 640.30) (190.88, 648.62) (170.87, 648.62) /Helv 9189 <|special_separator|>
(193.39, 640.30) (230.39, 640.30) (230.39, 648.62) (193.39, 648.62) /Helv Elmwood <|special_separator|>
(232.90, 640.30) (243.90, 640.30) (243.90, 648.62) (232.90, 648.62) /Helv St. <|special_separator|>
(246.41, 640.30) (272.42, 640.30) (272.42, 648.62) (246.41, 648.62) /Helv Bronx, <|special_separator|>
(274.92, 640.30) (287.42, 640.30) (287.42, 648.62) (274.92, 648.62) /Helv NY <|special_separator|>
(289.92, 640.30) (314.94, 640.30) (314.94, 648.62) (289.92, 648.62) /Helv 10465 <|special_separator|>
(170.87, 619.95) (203.88, 619.95) (203.88, 628.28) (170.87, 628.28) /Helv Kerluke, <|special_separator|>
(206.38, 619.95) (229.89, 619.95) (229.89, 628.28) (206.38, 628.28) /Helv Veum <|special_separator|>
(232.39, 619.95) (247.41, 619.95) (247.41, 628.28) (232.39, 628.28) /Helv and <|special_separator|>
(249.91, 619.95) (268.40, 619.95) (268.40, 628.28) (249.91, 628.28) /Helv Crist <|special_separator|>
(170.87, 599.55) (190.88, 599.55) (190.88, 607.88) (170.87, 607.88) /Helv 1499 <|special_separator|>
(193.39, 599.55) (222.89, 599.55) (222.89, 607.88) (193.39, 607.88) /Helv WCole <|special_separator|>
(225.39, 599.55) (236.89, 599.55) (236.89, 607.88) (225.39, 607.88) /Helv Rd <|special_separator|>
(239.39, 599.55) (275.40, 599.55) (275.40, 607.88) (239.39, 607.88) /Helv Fremont, <|special_separator|>
(277.91, 599.55) (318.91, 599.55) (318.91, 607.88) (277.91, 607.88) /Helv Ohio(OH), <|special_separator|>
(321.41, 599.55) (346.43, 599.55) (346.43, 607.88) (321.41, 607.88) /Helv 43420 <|special_separator|>
(170.87, 559.26) (203.88, 559.26) (203.88, 567.59) (170.87, 567.59) /Helv Kerluke, <|special_separator|>
(206.38, 559.26) (229.89, 559.26) (229.89, 567.59) (206.38, 567.59) /Helv Veum <|special_separator|>
(232.39, 559.26) (247.41, 559.26) (247.41, 567.59) (232.39, 567.59) /Helv and <|special_separator|>
(249.91, 559.26) (268.40, 559.26) (268.40, 567.59) (249.91, 567.59) /Helv Crist <|special_separator|>
(170.87, 539.99) (190.88, 539.99) (190.88, 548.31) (170.87, 548.31) /Helv 1499 <|special_separator|>
(193.39, 539.99) (222.89, 539.99) (222.89, 548.31) (193.39, 548.31) /Helv WCole <|special_separator|>
(225.39, 539.99) (236.89, 539.99) (236.89, 548.31) (225.39, 548.31) /Helv Rd <|special_separator|>
(239.39, 539.99) (275.40, 539.99) (275.40, 548.31) (239.39, 548.31) /Helv Fremont, <|special_separator|>
(277.91, 539.99) (318.91, 539.99) (318.91, 548.31) (277.91, 548.31) /Helv Ohio(OH), <|special_separator|>
(321.41, 539.99) (346.43, 539.99) (346.43, 548.31) (321.41, 548.31) /Helv 43420 <|special_separator|>
(138.17, 521.15) (156.17, 521.15) (156.17, 529.48) (138.17, 529.48) /Helv New <|special_separator|>
(158.67, 521.15) (177.17, 521.15) (177.17, 529.48) (158.67, 529.48) /Helv York <|special_separator|>
(179.67, 521.15) (207.18, 521.15) (207.18, 529.48) (179.67, 529.48) /Helv Harbor <|special_separator|>
(138.17, 505.90) (156.67, 505.90) (156.67, 514.23) (138.17, 514.23) /Helv USA <|special_separator|>
(138.17, 489.90) (190.67, 489.90) (190.67, 498.23) (138.17, 498.23) /Helv Hintz-Raynor <|special_separator|>
(138.17, 442.47) (173.68, 442.47) (173.68, 450.79) (138.17, 450.79) /Helv Payment <|special_separator|>
(176.18, 442.47) (183.18, 442.47) (183.18, 450.79) (176.18, 450.79) /Helv in <|special_separator|>
(185.69, 442.47) (220.71, 442.47) (220.71, 450.79) (185.69, 450.79) /Helv Advance <|special_separator|>
(138.17, 426.33) (150.67, 426.33) (150.67, 434.65) (138.17, 434.65) /Helv US <|special_separator|>
(153.17, 426.33) (189.18, 426.33) (189.18, 434.65) (153.17, 434.65) /Helv DOLLAR <|special_separator|>
(395.99, 521.15) (411.00, 521.15) (411.00, 529.48) (395.99, 529.48) /Helv 100 <|special_separator|>
(395.99, 505.90) (430.01, 505.90) (430.01, 514.23) (395.99, 514.23) /Helv 8600kgs <|special_separator|>
(395.99, 489.90) (423.51, 489.90) (423.51, 498.23) (395.99, 498.23) /Helv 170.29 <|special_separator|>
(052.00, 376.08) (083.01, 376.08) (083.01, 384.41) (052.00, 384.41) /Helv Original <|special_separator|>
(085.51, 376.08) (112.02, 376.08) (112.02, 384.41) (085.51, 384.41) /Helv Honda <|special_separator|>
(114.52, 376.08) (138.53, 376.08) (138.53, 384.41) (114.52, 384.41) /Helv Cover <|special_separator|>
(141.03, 376.08) (154.54, 376.08) (154.54, 384.41) (141.03, 384.41) /Helv Set <|special_separator|>
(157.04, 376.08) (172.05, 376.08) (172.05, 384.41) (157.04, 384.41) /Helv Left <|special_separator|>
(174.55, 376.08) (189.57, 376.08) (189.57, 384.41) (174.55, 384.41) /Helv and <|special_separator|>
(192.07, 376.08) (213.07, 376.08) (213.07, 384.41) (192.07, 384.41) /Helv Right <|special_separator|>
(215.58, 376.08) (229.08, 376.08) (229.08, 384.41) (215.58, 384.41) /Helv For <|special_separator|>
(231.58, 376.08) (251.58, 376.08) (251.58, 384.41) (231.58, 384.41) /Helv XRM <|special_separator|>
(254.08, 376.08) (269.09, 376.08) (269.09, 384.41) (254.08, 384.41) /Helv 110 <|special_separator|>
(271.59, 376.08) (295.60, 376.08) (295.60, 384.41) (271.59, 384.41) /Helv ŒRed <|special_separator|>
(338.74, 373.67) (357.24, 373.67) (357.24, 382.00) (338.74, 382.00) /Helv USA <|special_separator|>
(414.17, 373.67) (424.18, 373.67) (424.18, 382.00) (414.17, 382.00) /Helv 10 <|special_separator|>
(468.12, 373.73) (500.64, 373.73) (500.64, 382.05) (468.12, 382.05) /Helv $333.21 <|special_separator|>
(517.82, 373.73) (557.85, 373.73) (557.85, 382.05) (517.82, 382.05) /Helv $3,332.01 <|special_separator|>
(052.00, 340.15) (083.01, 340.15) (083.01, 348.48) (052.00, 348.48) /Helv Original <|special_separator|>
(085.51, 340.15) (112.02, 340.15) (112.02, 348.48) (085.51, 348.48) /Helv Honda <|special_separator|>
(114.52, 340.15) (138.53, 340.15) (138.53, 348.48) (114.52, 348.48) /Helv Cover <|special_separator|>
(141.03, 340.15) (169.54, 340.15) (169.54, 348.48) (141.03, 348.48) /Helv Handle <|special_separator|>
(172.04, 340.15) (193.05, 340.15) (193.05, 348.48) (172.04, 348.48) /Helv Front <|special_separator|>
(195.55, 340.15) (216.04, 340.15) (216.04, 348.48) (195.55, 348.48) /Helv (Disk <|special_separator|>
(218.55, 340.15) (245.05, 340.15) (245.05, 348.48) (218.55, 348.48) /Helv Brake) <|special_separator|>
(247.55, 340.15) (261.05, 340.15) (261.05, 348.48) (247.55, 348.48) /Helv For <|special_separator|>
(263.55, 340.15) (282.07, 340.15) (282.07, 348.48) (263.55, 348.48) /Helv Beat <|special_separator|>
(052.00, 331.83) (071.50, 331.83) (071.50, 340.15) (052.00, 340.15) /Helv Carb <|special_separator|>
(074.01, 331.83) (104.52, 331.83) (104.52, 340.15) (074.01, 340.15) /Helv Version <|special_separator|>
(107.02, 331.83) (112.02, 331.83) (112.02, 340.15) (107.02, 340.15) /Helv 1 <|special_separator|>
(338.74, 339.85) (357.24, 339.85) (357.24, 348.18) (338.74, 348.18) /Helv USA <|special_separator|>
(414.17, 339.85) (424.18, 339.85) (424.18, 348.18) (414.17, 348.18) /Helv 12 <|special_separator|>
(468.12, 339.80) (500.64, 339.80) (500.64, 348.12) (468.12, 348.12) /Helv $282.92 <|special_separator|>
(517.82, 339.80) (557.85, 339.80) (557.85, 348.12) (517.82, 348.12) /Helv $3,395.04 <|special_separator|>
(052.00, 304.22) (083.01, 304.22) (083.01, 312.55) (052.00, 312.55) /Helv Original <|special_separator|>
(085.51, 304.22) (112.02, 304.22) (112.02, 312.55) (085.51, 312.55) /Helv Honda <|special_separator|>
(114.52, 304.22) (134.52, 304.22) (134.52, 312.55) (114.52, 312.55) /Helv Cowl <|special_separator|>
(137.02, 304.22) (161.53, 304.22) (161.53, 312.55) (137.02, 312.55) /Helv Under <|special_separator|>
(164.03, 304.22) (195.05, 304.22) (195.05, 312.55) (164.03, 312.55) /Helv (Engine <|special_separator|>
(197.55, 304.22) (224.55, 304.22) (224.55, 312.55) (197.55, 312.55) /Helv Cover) <|special_separator|>
(227.05, 304.22) (240.55, 304.22) (240.55, 312.55) (227.05, 312.55) /Helv For <|special_separator|>
(243.05, 304.22) (254.05, 304.22) (254.05, 312.55) (243.05, 312.55) /Helv Rs <|special_separator|>
(256.55, 304.22) (283.07, 304.22) (283.07, 312.55) (256.55, 312.55) /Helv 125Œ <|special_separator|>
(052.00, 295.90) (074.01, 295.90) (074.01, 304.22) (052.00, 304.22) /Helv Black <|special_separator|>
(338.74, 303.95) (357.24, 303.95) (357.24, 312.27) (338.74, 312.27) /Helv USA <|special_separator|>
(414.17, 303.95) (424.18, 303.95) (424.18, 312.27) (414.17, 312.27) /Helv 80 <|special_separator|>
(468.12, 303.86) (500.64, 303.86) (500.64, 312.19) (468.12, 312.19) /Helv $100.00 <|special_separator|>
(517.82, 303.86) (557.85, 303.86) (557.85, 312.19) (517.82, 312.19) /Helv $8,000.00 <|special_separator|>
(052.00, 267.29) (083.01, 267.29) (083.01, 275.61) (052.00, 275.61) /Helv Original <|special_separator|>
(085.51, 267.29) (112.02, 267.29) (112.02, 275.61) (085.51, 275.61) /Helv Honda <|special_separator|>
(114.52, 267.29) (138.53, 267.29) (138.53, 275.61) (114.52, 275.61) /Helv Cover <|special_separator|>
(141.03, 267.29) (154.54, 267.29) (154.54, 275.61) (141.03, 275.61) /Helv Set <|special_separator|>
(157.04, 267.29) (172.05, 267.29) (172.05, 275.61) (157.04, 275.61) /Helv Left <|special_separator|>
(174.55, 267.29) (189.57, 267.29) (189.57, 275.61) (174.55, 275.61) /Helv and <|special_separator|>
(192.07, 267.29) (213.07, 267.29) (213.07, 275.61) (192.07, 275.61) /Helv Right <|special_separator|>
(215.58, 267.29) (229.08, 267.29) (229.08, 275.61) (215.58, 275.61) /Helv For <|special_separator|>
(231.58, 267.29) (251.58, 267.29) (251.58, 275.61) (231.58, 275.61) /Helv XRM <|special_separator|>
(254.08, 267.29) (269.09, 267.29) (269.09, 275.61) (254.08, 275.61) /Helv 110 <|special_separator|>
(271.59, 267.29) (295.60, 267.29) (295.60, 275.61) (271.59, 275.61) /Helv ŒRed <|special_separator|>
(338.74, 266.85) (357.24, 266.85) (357.24, 275.17) (338.74, 275.17) /Helv USA <|special_separator|>
(414.17, 266.85) (424.18, 266.85) (424.18, 275.17) (414.17, 275.17) /Helv 10 <|special_separator|>
(473.12, 266.93) (500.64, 266.93) (500.64, 275.26) (473.12, 275.26) /Helv $10.73 <|special_separator|>
(525.33, 266.93) (557.85, 266.93) (557.85, 275.26) (525.33, 275.26) /Helv $107.03 <|special_separator|>
(052.00, 082.59) (070.51, 082.59) (070.51, 090.69) (052.00, 090.69) /Helv Jose <|special_separator|>
(072.95, 082.59) (078.79, 082.59) (078.79, 090.69) (072.95, 090.69) /Helv S <|special_separator|>
(081.23, 082.59) (103.15, 082.59) (103.15, 090.69) (081.23, 090.69) /Helv Lares <|special_separator|>
(249.24, 082.59) (283.36, 082.59) (283.36, 090.69) (249.24, 090.69) /Helv 01/20/20 <|special_separator|>
(535.38, 193.54) (557.90, 193.54) (557.90, 201.86) (535.38, 201.86) /Helv 12.23 <|special_separator|>
(530.38, 177.59) (557.90, 177.59) (557.90, 185.92) (530.38, 185.92) /Helv 881.21 <|special_separator|>
(540.38, 161.65) (557.90, 161.65) (557.90, 169.97) (540.38, 169.97) /Helv 0.00 <|special_separator|>
(540.38, 145.70) (557.90, 145.70) (557.90, 154.03) (540.38, 154.03) /Helv 0.00 <|special_separator|>
(535.38, 129.76) (557.90, 129.76) (557.90, 138.08) (535.38, 138.08) /Helv 33.11 <|special_separator|>
(540.38, 113.82) (557.90, 113.82) (557.90, 122.14) (540.38, 122.14) /Helv 0.00 <|special_separator|>
(535.38, 097.87) (557.90, 097.87) (557.90, 106.20) (535.38, 106.20) /Helv 88.21 <|special_separator|>
(535.38, 081.93) (557.90, 081.93) (557.90, 090.25) (535.38, 090.25) /Helv 73.00 <|special_separator|>
(512.86, 080.02) (557.90, 080.02) (557.90, 088.35) (512.86, 088.35) /HeBo $15,922.11
@@ -46307,238 +46307,6 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
{
"index": 1594,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
"r_x1": 591.001,
"r_y1": 774.003,
"r_x2": 591.001,
"r_y2": 789.001,
"r_x3": 495.0,
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 1595,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 261.997,
"r_y0": 406.0,
"r_x1": 394.997,
"r_y1": 406.0,
"r_x2": 394.997,
"r_y2": 423.0,
"r_x3": 261.997,
"r_y3": 423.0,
"coord_origin": "BOTTOMLEFT"
},
"text": "123456789",
"orig": "123456789",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 1596,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 396.997,
"r_y0": 406.0,
"r_x1": 424.996,
"r_y1": 406.0,
"r_x2": 424.996,
"r_y2": 423.0,
"r_x3": 396.997,
"r_y3": 423.0,
"coord_origin": "BOTTOMLEFT"
},
"text": "RT",
"orig": "RT",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 1597,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 426.996,
"r_y0": 406.0,
"r_x1": 484.997,
"r_y1": 406.0,
"r_x2": 484.997,
"r_y2": 423.0,
"r_x3": 426.996,
"r_y3": 423.0,
"coord_origin": "BOTTOMLEFT"
},
"text": "ABCD",
"orig": "ABCD",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 1598,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 261.997,
"r_y0": 379.0,
"r_x1": 394.997,
"r_y1": 379.0,
"r_x2": 394.997,
"r_y2": 396.0,
"r_x3": 261.997,
"r_y3": 396.0,
"coord_origin": "BOTTOMLEFT"
},
"text": "",
"orig": "",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 1599,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 260.997,
"r_y0": 210.999,
"r_x1": 584.997,
"r_y1": 210.999,
"r_x2": 584.997,
"r_y2": 227.999,
"r_x3": 260.997,
"r_y3": 227.999,
"coord_origin": "BOTTOMLEFT"
},
"text": "granville",
"orig": "granville",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 1600,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 260.997,
"r_y0": 156.999,
"r_x1": 341.997,
"r_y1": 156.999,
"r_x2": 341.997,
"r_y2": 173.999,
"r_x3": 260.997,
"r_y3": 173.999,
"coord_origin": "BOTTOMLEFT"
},
"text": "",
"orig": "",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 1601,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 260.997,
"r_y0": 129.999,
"r_x1": 431.997,
"r_y1": 129.999,
"r_x2": 431.997,
"r_y2": 146.999,
"r_x3": 260.997,
"r_y3": 146.999,
"coord_origin": "BOTTOMLEFT"
},
"text": "",
"orig": "",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
}
],
"word_cells": [
@@ -53849,180 +53617,6 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
{
"index": 252,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
"r_x1": 591.001,
"r_y1": 774.003,
"r_x2": 591.001,
"r_y2": 789.001,
"r_x3": 495.0,
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 253,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 261.997,
"r_y0": 406.0,
"r_x1": 484.997,
"r_y1": 406.0,
"r_x2": 484.997,
"r_y2": 423.0,
"r_x3": 261.997,
"r_y3": 423.0,
"coord_origin": "BOTTOMLEFT"
},
"text": "123456789RTABCD",
"orig": "123456789RTABCD",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 254,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 261.997,
"r_y0": 379.0,
"r_x1": 394.997,
"r_y1": 379.0,
"r_x2": 394.997,
"r_y2": 396.0,
"r_x3": 261.997,
"r_y3": 396.0,
"coord_origin": "BOTTOMLEFT"
},
"text": "",
"orig": "",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 255,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 260.997,
"r_y0": 210.999,
"r_x1": 584.997,
"r_y1": 210.999,
"r_x2": 584.997,
"r_y2": 227.999,
"r_x3": 260.997,
"r_y3": 227.999,
"coord_origin": "BOTTOMLEFT"
},
"text": "granville",
"orig": "granville",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 256,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 260.997,
"r_y0": 156.999,
"r_x1": 341.997,
"r_y1": 156.999,
"r_x2": 341.997,
"r_y2": 173.999,
"r_x3": 260.997,
"r_y3": 173.999,
"coord_origin": "BOTTOMLEFT"
},
"text": "",
"orig": "",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 257,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 260.997,
"r_y0": 129.999,
"r_x1": 431.997,
"r_y1": 129.999,
"r_x2": 431.997,
"r_y2": 146.999,
"r_x3": 260.997,
"r_y3": 146.999,
"coord_origin": "BOTTOMLEFT"
},
"text": "",
"orig": "",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
}
],
"textline_cells": [
@@ -55330,15 +54924,14 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
}
],
"has_chars": true,
"has_words": true,
"has_lines": true,
"widgets": [
{
"index": 45,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"index": 0,
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
@@ -55350,168 +54943,12 @@
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
"widget_text": "/Off",
"widget_field_name": "form1[0].#pageSet[0].Page1[0].ClearData_FR[0]",
"widget_field_type": "/Btn"
},
{
"index": 46,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 261.997,
"r_y0": 406.0,
"r_x1": 484.997,
"r_y1": 406.0,
"r_x2": 484.997,
"r_y2": 423.0,
"r_x3": 261.997,
"r_y3": 423.0,
"coord_origin": "BOTTOMLEFT"
},
"text": "123456789RTABCD",
"orig": "123456789RTABCD",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 47,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 261.997,
"r_y0": 379.0,
"r_x1": 394.997,
"r_y1": 379.0,
"r_x2": 394.997,
"r_y2": 396.0,
"r_x3": 261.997,
"r_y3": 396.0,
"coord_origin": "BOTTOMLEFT"
},
"text": "",
"orig": "",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 48,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 260.997,
"r_y0": 210.999,
"r_x1": 584.997,
"r_y1": 210.999,
"r_x2": 584.997,
"r_y2": 227.999,
"r_x3": 260.997,
"r_y3": 227.999,
"coord_origin": "BOTTOMLEFT"
},
"text": "granville",
"orig": "granville",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 49,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 260.997,
"r_y0": 156.999,
"r_x1": 341.997,
"r_y1": 156.999,
"r_x2": 341.997,
"r_y2": 173.999,
"r_x3": 260.997,
"r_y3": 173.999,
"coord_origin": "BOTTOMLEFT"
},
"text": "",
"orig": "",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
},
{
"index": 50,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 260.997,
"r_y0": 129.999,
"r_x1": 431.997,
"r_y1": 129.999,
"r_x2": 431.997,
"r_y2": 146.999,
"r_x3": 260.997,
"r_y3": 146.999,
"coord_origin": "BOTTOMLEFT"
},
"text": "",
"orig": "",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
}
],
"has_chars": true,
"has_words": true,
"has_lines": true,
"widgets": [
{
"index": 0,
"index": 1,
"rect": {
"r_x0": 260.997,
"r_y0": 466.001,
@@ -55527,7 +54964,7 @@
"widget_field_type": "/Tx"
},
{
"index": 1,
"index": 2,
"rect": {
"r_x0": 260.997,
"r_y0": 433.0,
@@ -55542,64 +54979,75 @@
"widget_field_name": "form1[0].Page1[0].PartA[0].FirstName[0].FirstName[0]",
"widget_field_type": "/Tx"
},
{
"index": 2,
"rect": {
"r_x0": 260.997,
"r_y0": 320.999,
"r_x1": 272.997,
"r_y1": 320.999,
"r_x2": 272.997,
"r_y2": 332.999,
"r_x3": 260.997,
"r_y3": 332.999,
"coord_origin": "BOTTOMLEFT"
}
},
{
"index": 3,
"rect": {
"r_x0": 329.998,
"r_y0": 320.999,
"r_x1": 341.998,
"r_y1": 320.999,
"r_x2": 341.998,
"r_y2": 332.999,
"r_x3": 329.998,
"r_y3": 332.999,
"r_x0": 261.997,
"r_y0": 406.0,
"r_x1": 394.997,
"r_y1": 406.0,
"r_x2": 394.997,
"r_y2": 423.0,
"r_x3": 261.997,
"r_y3": 423.0,
"coord_origin": "BOTTOMLEFT"
}
},
"widget_text": "123456789",
"widget_field_name": "form1[0].Page1[0].PartA[0].BusinessNumber[0].BusinessNumber[0].BusinessNumber_RT1[0]",
"widget_field_type": "/Tx"
},
{
"index": 4,
"rect": {
"r_x0": 260.997,
"r_y0": 294.002,
"r_x1": 272.997,
"r_y1": 294.002,
"r_x2": 272.997,
"r_y2": 306.002,
"r_x3": 260.997,
"r_y3": 306.002,
"r_x0": 396.997,
"r_y0": 406.0,
"r_x1": 424.996,
"r_y1": 406.0,
"r_x2": 424.996,
"r_y2": 423.0,
"r_x3": 396.997,
"r_y3": 423.0,
"coord_origin": "BOTTOMLEFT"
}
},
"widget_text": "RT",
"widget_field_name": "form1[0].Page1[0].PartA[0].BusinessNumber[0].BusinessNumber[0].BusinessNumber_RT[0]",
"widget_field_type": "/Tx"
},
{
"index": 5,
"rect": {
"r_x0": 329.998,
"r_y0": 294.002,
"r_x1": 341.998,
"r_y1": 294.002,
"r_x2": 341.998,
"r_y2": 306.002,
"r_x3": 329.998,
"r_y3": 306.002,
"r_x0": 426.996,
"r_y0": 406.0,
"r_x1": 484.997,
"r_y1": 406.0,
"r_x2": 484.997,
"r_y2": 423.0,
"r_x3": 426.996,
"r_y3": 423.0,
"coord_origin": "BOTTOMLEFT"
}
},
"widget_text": "ABCD",
"widget_field_name": "form1[0].Page1[0].PartA[0].BusinessNumber[0].BusinessNumber[0].BusinessNumber_RT2[0]",
"widget_field_type": "/Tx"
},
{
"index": 6,
"rect": {
"r_x0": 261.997,
"r_y0": 379.0,
"r_x1": 394.997,
"r_y1": 379.0,
"r_x2": 394.997,
"r_y2": 396.0,
"r_x3": 261.997,
"r_y3": 396.0,
"coord_origin": "BOTTOMLEFT"
},
"widget_field_name": "form1[0].Page1[0].PartA[0].NAS[0].RequestorNAS[0].NAS[0]",
"widget_field_type": "/Tx"
},
{
"index": 7,
"rect": {
"r_x0": 260.997,
"r_y0": 237.999,
@@ -55615,7 +55063,24 @@
"widget_field_type": "/Tx"
},
{
"index": 7,
"index": 8,
"rect": {
"r_x0": 260.997,
"r_y0": 210.999,
"r_x1": 584.997,
"r_y1": 210.999,
"r_x2": 584.997,
"r_y2": 227.999,
"r_x3": 260.997,
"r_y3": 227.999,
"coord_origin": "BOTTOMLEFT"
},
"widget_text": "granville",
"widget_field_name": "form1[0].Page1[0].PartA[0].MailingAddress[0].City[0]",
"widget_field_type": "/Tx"
},
{
"index": 9,
"rect": {
"r_x0": 261.997,
"r_y0": 183.999,
@@ -55629,6 +55094,38 @@
},
"widget_field_name": "form1[0].Page1[0].PartA[0].MailingAddress[0].Prov_DropDown[0]",
"widget_field_type": "/Ch"
},
{
"index": 10,
"rect": {
"r_x0": 260.997,
"r_y0": 156.999,
"r_x1": 341.997,
"r_y1": 156.999,
"r_x2": 341.997,
"r_y2": 173.999,
"r_x3": 260.997,
"r_y3": 173.999,
"coord_origin": "BOTTOMLEFT"
},
"widget_field_name": "form1[0].Page1[0].PartA[0].MailingAddress[0].PostalCode_ZIP[0]",
"widget_field_type": "/Tx"
},
{
"index": 11,
"rect": {
"r_x0": 260.997,
"r_y0": 129.999,
"r_x1": 431.997,
"r_y1": 129.999,
"r_x2": 431.997,
"r_y2": 146.999,
"r_x3": 260.997,
"r_y3": 146.999,
"coord_origin": "BOTTOMLEFT"
},
"widget_field_name": "form1[0].Page1[0].PartA[0].MailingAddress[0].Country[0]",
"widget_field_type": "/Tx"
}
],
"hyperlinks": [
@@ -1591,12 +1591,4 @@
(434.43, 019.46) (438.88, 019.46) (438.88, 026.91) (434.43, 026.91) /TT2 d <|special_separator|>
(438.88, 019.46) (443.33, 019.46) (443.33, 026.91) (438.88, 026.91) /TT2 e <|special_separator|>
(443.33, 019.46) (445.55, 019.46) (445.55, 026.91) (443.33, 026.91) /TT2 <|special_separator|>
(445.55, 019.46) (450.00, 019.46) (450.00, 026.91) (445.55, 026.91) /TT2 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off <|special_separator|>
(262.00, 406.00) (395.00, 406.00) (395.00, 423.00) (262.00, 423.00) Form-font 123456789 <|special_separator|>
(397.00, 406.00) (425.00, 406.00) (425.00, 423.00) (397.00, 423.00) Form-font RT <|special_separator|>
(427.00, 406.00) (485.00, 406.00) (485.00, 423.00) (427.00, 423.00) Form-font ABCD <|special_separator|>
(262.00, 379.00) (395.00, 379.00) (395.00, 396.00) (262.00, 396.00) Form-font <|special_separator|>
(261.00, 211.00) (585.00, 211.00) (585.00, 228.00) (261.00, 228.00) Form-font granville <|special_separator|>
(261.00, 157.00) (342.00, 157.00) (342.00, 174.00) (261.00, 174.00) Form-font <|special_separator|>
(261.00, 130.00) (432.00, 130.00) (432.00, 147.00) (261.00, 147.00) Form-font
(445.55, 019.46) (450.00, 019.46) (450.00, 026.91) (445.55, 026.91) /TT2 5
@@ -42,10 +42,4 @@
(199.78, 077.11) (214.22, 077.11) (214.22, 086.42) (199.78, 086.42) /TT2 NC <|special_separator|>
(021.00, 019.09) (074.35, 019.09) (074.35, 026.54) (021.00, 026.54) /TT2 GST495 F (24) <|special_separator|>
(246.21, 019.09) (365.79, 019.09) (365.79, 026.54) (246.21, 026.54) /TT2 (This form is available in English.) <|special_separator|>
(406.86, 019.46) (450.00, 019.46) (450.00, 026.91) (406.86, 026.91) /TT2 Page 1 de 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off <|special_separator|>
(262.00, 406.00) (485.00, 406.00) (485.00, 423.00) (262.00, 423.00) Form-font 123456789RTABCD <|special_separator|>
(262.00, 379.00) (395.00, 379.00) (395.00, 396.00) (262.00, 396.00) Form-font <|special_separator|>
(261.00, 211.00) (585.00, 211.00) (585.00, 228.00) (261.00, 228.00) Form-font granville <|special_separator|>
(261.00, 157.00) (342.00, 157.00) (342.00, 174.00) (261.00, 174.00) Form-font <|special_separator|>
(261.00, 130.00) (432.00, 130.00) (432.00, 147.00) (261.00, 147.00) Form-font
(406.86, 019.46) (450.00, 019.46) (450.00, 026.91) (406.86, 026.91) /TT2 Page 1 de 5
@@ -249,10 +249,4 @@
(406.86, 019.46) (425.53, 019.46) (425.53, 026.91) (406.86, 026.91) /TT2 Page <|special_separator|>
(427.76, 019.46) (432.21, 019.46) (432.21, 026.91) (427.76, 026.91) /TT2 1 <|special_separator|>
(434.43, 019.46) (443.33, 019.46) (443.33, 026.91) (434.43, 026.91) /TT2 de <|special_separator|>
(445.55, 019.46) (450.00, 019.46) (450.00, 026.91) (445.55, 026.91) /TT2 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off <|special_separator|>
(262.00, 406.00) (485.00, 406.00) (485.00, 423.00) (262.00, 423.00) Form-font 123456789RTABCD <|special_separator|>
(262.00, 379.00) (395.00, 379.00) (395.00, 396.00) (262.00, 396.00) Form-font <|special_separator|>
(261.00, 211.00) (585.00, 211.00) (585.00, 228.00) (261.00, 228.00) Form-font granville <|special_separator|>
(261.00, 157.00) (342.00, 157.00) (342.00, 174.00) (261.00, 174.00) Form-font <|special_separator|>
(261.00, 130.00) (432.00, 130.00) (432.00, 147.00) (261.00, 147.00) Form-font
(445.55, 019.46) (450.00, 019.46) (450.00, 026.91) (445.55, 026.91) /TT2 5
@@ -30674,35 +30674,6 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
{
"index": 1056,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
"r_x1": 591.001,
"r_y1": 774.003,
"r_x2": 591.001,
"r_y2": 789.001,
"r_x3": 495.0,
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
}
],
"word_cells": [
@@ -35664,35 +35635,6 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
{
"index": 171,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
"r_x1": 591.001,
"r_y1": 774.003,
"r_x2": 591.001,
"r_y2": 789.001,
"r_x3": 495.0,
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
}
],
"textline_cells": [
@@ -36623,15 +36565,14 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
}
],
"has_chars": true,
"has_words": true,
"has_lines": true,
"widgets": [
{
"index": 32,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"index": 0,
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
@@ -36643,23 +36584,12 @@
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
}
],
"has_chars": true,
"has_words": true,
"has_lines": true,
"widgets": [
"widget_text": "/Off",
"widget_field_name": "form1[0].#pageSet[0].Page1[1].ClearData_FR[0]",
"widget_field_type": "/Btn"
},
{
"index": 0,
"index": 1,
"rect": {
"r_x0": 260.997,
"r_y0": 685.0,
@@ -36675,7 +36605,7 @@
"widget_field_type": "/Tx"
},
{
"index": 1,
"index": 2,
"rect": {
"r_x0": 260.997,
"r_y0": 658.0,
@@ -36691,7 +36621,7 @@
"widget_field_type": "/Tx"
},
{
"index": 2,
"index": 3,
"rect": {
"r_x0": 261.997,
"r_y0": 631.0,
@@ -36707,7 +36637,7 @@
"widget_field_type": "/Ch"
},
{
"index": 3,
"index": 4,
"rect": {
"r_x0": 260.997,
"r_y0": 604.0,
@@ -36723,7 +36653,7 @@
"widget_field_type": "/Tx"
},
{
"index": 4,
"index": 5,
"rect": {
"r_x0": 260.997,
"r_y0": 577.0,
@@ -36739,7 +36669,7 @@
"widget_field_type": "/Tx"
},
{
"index": 5,
"index": 6,
"rect": {
"r_x0": 261.997,
"r_y0": 484.001,
@@ -36755,7 +36685,7 @@
"widget_field_type": "/Tx"
},
{
"index": 6,
"index": 7,
"rect": {
"r_x0": 261.997,
"r_y0": 408.999,
@@ -36771,7 +36701,7 @@
"widget_field_type": "/Tx"
},
{
"index": 7,
"index": 8,
"rect": {
"r_x0": 261.997,
"r_y0": 334.0,
@@ -1053,5 +1053,4 @@
(575.43, 019.46) (579.88, 019.46) (579.88, 026.91) (575.43, 026.91) /TT2 d <|special_separator|>
(579.88, 019.46) (584.33, 019.46) (584.33, 026.91) (579.88, 026.91) /TT2 e <|special_separator|>
(584.33, 019.46) (586.55, 019.46) (586.55, 026.91) (584.33, 026.91) /TT2 <|special_separator|>
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5
@@ -29,5 +29,4 @@
(487.09, 312.58) (581.28, 312.58) (581.28, 321.89) (487.09, 321.89) /TT2 date de retrait d'une <|special_separator|>
(035.00, 301.58) (130.04, 301.58) (130.04, 310.89) (035.00, 310.89) /TT2 province participante. <|special_separator|>
(021.00, 019.09) (074.35, 019.09) (074.35, 026.54) (021.00, 026.54) /TT2 GST495 F (24) <|special_separator|>
(547.86, 019.46) (591.00, 019.46) (591.00, 026.91) (547.86, 026.91) /TT2 Page 2 de 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(547.86, 019.46) (591.00, 019.46) (591.00, 026.91) (547.86, 026.91) /TT2 Page 2 de 5
@@ -168,5 +168,4 @@
(547.86, 019.46) (566.53, 019.46) (566.53, 026.91) (547.86, 026.91) /TT2 Page <|special_separator|>
(568.76, 019.46) (573.21, 019.46) (573.21, 026.91) (568.76, 026.91) /TT2 2 <|special_separator|>
(575.43, 019.46) (584.33, 019.46) (584.33, 026.91) (575.43, 026.91) /TT2 de <|special_separator|>
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5
File diff suppressed because it is too large Load Diff
@@ -854,5 +854,4 @@
(575.43, 019.46) (579.88, 019.46) (579.88, 026.91) (575.43, 026.91) /TT2 d <|special_separator|>
(579.88, 019.46) (584.33, 019.46) (584.33, 026.91) (579.88, 026.91) /TT2 e <|special_separator|>
(584.33, 019.46) (586.55, 019.46) (586.55, 026.91) (584.33, 026.91) /TT2 <|special_separator|>
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5
@@ -62,5 +62,4 @@
(061.67, 127.08) (290.10, 127.08) (290.10, 136.39) (061.67, 136.39) /TT2 (Inscrivez ce montant à la colonne 1 de la partie D.) <|special_separator|>
(490.00, 125.63) (497.00, 125.63) (497.00, 136.80) (490.00, 136.80) /TT2 = <|special_separator|>
(021.00, 019.09) (074.35, 019.09) (074.35, 026.54) (021.00, 026.54) /TT2 GST495 F (24) <|special_separator|>
(547.86, 019.46) (591.00, 019.46) (591.00, 026.91) (547.86, 026.91) /TT2 Page 3 de 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(547.86, 019.46) (591.00, 019.46) (591.00, 026.91) (547.86, 026.91) /TT2 Page 3 de 5
@@ -173,5 +173,4 @@
(547.86, 019.46) (566.53, 019.46) (566.53, 026.91) (547.86, 026.91) /TT2 Page <|special_separator|>
(568.76, 019.46) (573.21, 019.46) (573.21, 026.91) (568.76, 026.91) /TT2 3 <|special_separator|>
(575.43, 019.46) (584.33, 019.46) (584.33, 026.91) (575.43, 026.91) /TT2 de <|special_separator|>
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5
@@ -76755,35 +76755,6 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
{
"index": 2645,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
"r_x1": 591.001,
"r_y1": 774.003,
"r_x2": 591.001,
"r_y2": 789.001,
"r_x3": 495.0,
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
}
],
"word_cells": [
@@ -89836,35 +89807,6 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
{
"index": 450,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
"r_x1": 591.001,
"r_y1": 774.003,
"r_x2": 591.001,
"r_y2": 789.001,
"r_x3": 495.0,
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
}
],
"textline_cells": [
@@ -91636,15 +91578,14 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
}
],
"has_chars": true,
"has_words": true,
"has_lines": true,
"widgets": [
{
"index": 61,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"index": 0,
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
@@ -91656,23 +91597,12 @@
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
}
],
"has_chars": true,
"has_words": true,
"has_lines": true,
"widgets": [
"widget_text": "/Off",
"widget_field_name": "form1[0].#pageSet[0].Page1[3].ClearData_FR[0]",
"widget_field_type": "/Btn"
},
{
"index": 0,
"index": 1,
"rect": {
"r_x0": 305.997,
"r_y0": 678.999,
@@ -91688,7 +91618,7 @@
"widget_field_type": "/Tx"
},
{
"index": 1,
"index": 2,
"rect": {
"r_x0": 461.999,
"r_y0": 678.999,
@@ -91704,7 +91634,7 @@
"widget_field_type": "/Tx"
},
{
"index": 2,
"index": 3,
"rect": {
"r_x0": 305.997,
"r_y0": 646.001,
@@ -91720,7 +91650,7 @@
"widget_field_type": "/Tx"
},
{
"index": 3,
"index": 4,
"rect": {
"r_x0": 461.999,
"r_y0": 646.001,
@@ -91736,7 +91666,7 @@
"widget_field_type": "/Tx"
},
{
"index": 4,
"index": 5,
"rect": {
"r_x0": 305.997,
"r_y0": 573.998,
@@ -91752,7 +91682,7 @@
"widget_field_type": "/Tx"
},
{
"index": 5,
"index": 6,
"rect": {
"r_x0": 461.999,
"r_y0": 573.998,
@@ -91768,7 +91698,7 @@
"widget_field_type": "/Tx"
},
{
"index": 6,
"index": 7,
"rect": {
"r_x0": 461.999,
"r_y0": 540.997,
@@ -91784,7 +91714,7 @@
"widget_field_type": "/Tx"
},
{
"index": 7,
"index": 8,
"rect": {
"r_x0": 32.998,
"r_y0": 374.998,
@@ -91800,7 +91730,7 @@
"widget_field_type": "/Tx"
},
{
"index": 8,
"index": 9,
"rect": {
"r_x0": 254.999,
"r_y0": 374.998,
@@ -91816,7 +91746,7 @@
"widget_field_type": "/Tx"
},
{
"index": 9,
"index": 10,
"rect": {
"r_x0": 32.998,
"r_y0": 333.997,
@@ -91832,7 +91762,7 @@
"widget_field_type": "/Tx"
},
{
"index": 10,
"index": 11,
"rect": {
"r_x0": 138.999,
"r_y0": 333.997,
@@ -91848,7 +91778,7 @@
"widget_field_type": "/Tx"
},
{
"index": 11,
"index": 12,
"rect": {
"r_x0": 465.998,
"r_y0": 333.997,
@@ -2642,5 +2642,4 @@
(575.43, 019.46) (579.88, 019.46) (579.88, 026.91) (575.43, 026.91) /TT2 d <|special_separator|>
(579.88, 019.46) (584.33, 019.46) (584.33, 026.91) (579.88, 026.91) /TT2 e <|special_separator|>
(584.33, 019.46) (586.55, 019.46) (586.55, 026.91) (584.33, 026.91) /TT2 <|special_separator|>
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5
@@ -58,5 +58,4 @@
(365.14, 240.95) (464.29, 240.95) (464.29, 248.43) (365.14, 248.43) /TT1 canada.ca/arc-info-source <|special_separator|>
(464.29, 240.96) (466.51, 240.96) (466.51, 248.41) (464.29, 248.41) /TT2 . <|special_separator|>
(021.00, 019.09) (074.35, 019.09) (074.35, 026.54) (021.00, 026.54) /TT2 GST495 F (24) <|special_separator|>
(547.86, 019.46) (591.00, 019.46) (591.00, 026.91) (547.86, 026.91) /TT2 Page 4 de 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(547.86, 019.46) (591.00, 019.46) (591.00, 026.91) (547.86, 026.91) /TT2 Page 4 de 5
@@ -447,5 +447,4 @@
(547.86, 019.46) (566.53, 019.46) (566.53, 026.91) (547.86, 026.91) /TT2 Page <|special_separator|>
(568.76, 019.46) (573.21, 019.46) (573.21, 026.91) (568.76, 026.91) /TT2 4 <|special_separator|>
(575.43, 019.46) (584.33, 019.46) (584.33, 026.91) (575.43, 026.91) /TT2 de <|special_separator|>
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5
@@ -136379,35 +136379,6 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
{
"index": 4701,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
"r_x1": 591.001,
"r_y1": 774.003,
"r_x2": 591.001,
"r_y2": 789.001,
"r_x3": 495.0,
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
}
],
"word_cells": [
@@ -158363,35 +158334,6 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
{
"index": 757,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
"r_x1": 591.001,
"r_y1": 774.003,
"r_x2": 591.001,
"r_y2": 789.001,
"r_x3": 495.0,
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
}
],
"textline_cells": [
@@ -162512,15 +162454,14 @@
"widget": false,
"font_key": "/TT2",
"font_name": "/AAAAAC+Helvetica"
},
}
],
"has_chars": true,
"has_words": true,
"has_lines": true,
"widgets": [
{
"index": 142,
"rgba": {
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"index": 0,
"rect": {
"r_x0": 495.0,
"r_y0": 774.003,
@@ -162532,21 +162473,11 @@
"r_y3": 789.001,
"coord_origin": "BOTTOMLEFT"
},
"text": "/Off",
"orig": "/Off",
"text_direction": "left_to_right",
"confidence": 1.0,
"from_ocr": false,
"rendering_mode": 0,
"widget": true,
"font_key": "Form-font",
"font_name": "Form-font"
"widget_text": "/Off",
"widget_field_name": "form1[0].#pageSet[0].Page1[4].ClearData_FR[0]",
"widget_field_type": "/Btn"
}
],
"has_chars": true,
"has_words": true,
"has_lines": true,
"widgets": [],
"hyperlinks": [
{
"index": 0,
@@ -4698,5 +4698,4 @@
(575.43, 019.46) (579.88, 019.46) (579.88, 026.91) (575.43, 026.91) /TT2 d <|special_separator|>
(579.88, 019.46) (584.33, 019.46) (584.33, 026.91) (579.88, 026.91) /TT2 e <|special_separator|>
(584.33, 019.46) (586.55, 019.46) (586.55, 026.91) (584.33, 026.91) /TT2 <|special_separator|>
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5
@@ -139,5 +139,4 @@
(315.00, 147.58) (323.34, 147.58) (323.34, 156.89) (315.00, 156.89) /TT2 à <|special_separator|>
(323.34, 147.57) (472.82, 147.57) (472.82, 156.92) (323.34, 156.92) /TT1 canada.ca/publications-tps-tvh. <|special_separator|>
(021.00, 019.09) (074.35, 019.09) (074.35, 026.54) (021.00, 026.54) /TT2 GST495 F (24) <|special_separator|>
(547.86, 019.46) (591.00, 019.46) (591.00, 026.91) (547.86, 026.91) /TT2 Page 5 de 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(547.86, 019.46) (591.00, 019.46) (591.00, 026.91) (547.86, 026.91) /TT2 Page 5 de 5
@@ -754,5 +754,4 @@
(547.86, 019.46) (566.53, 019.46) (566.53, 026.91) (547.86, 026.91) /TT2 Page <|special_separator|>
(568.76, 019.46) (573.21, 019.46) (573.21, 026.91) (568.76, 026.91) /TT2 5 <|special_separator|>
(575.43, 019.46) (584.33, 019.46) (584.33, 026.91) (575.43, 026.91) /TT2 de <|special_separator|>
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5 <|special_separator|>
(495.00, 774.00) (591.00, 774.00) (591.00, 789.00) (495.00, 789.00) Form-font /Off
(586.55, 019.46) (591.00, 019.46) (591.00, 026.91) (586.55, 026.91) /TT2 5
Binary file not shown.