Приёмка: сетка ячеек на пяти примерах

Все пять документов открыты по очереди на работающем сервисе, в браузере, на панели «После выравнивания». По каждой странице сверено, ложатся ли линии сетки на края тех же прямоугольников, по которым режется текст, и не осталось ли ячеек за пределами сетки. Отдельно проверено, что клик по ячейке и разметка не сломались.

Итог по всем примерам

ПримерСтраницЛиний сеткиЯчеекКраёв ячеек с линиейЛиний легло на печатную линейкуСдвиг при сжатии окна, точек
Пример 12102654100.0%87 из 102 (85%)0.02
Пример 2256132100.0%43 из 51 (84%)0.01
Пример 312948100.0%20 из 27 (74%)0.01
Пример 4153118100.0%45 из 53 (85%)0.02
Пример 5286362100.0%73 из 86 (85%)0.02

«Краёв ячеек с линией» — доля из четырёх краёв каждой ячейки (слева, справа, сверху, снизу), рядом с которыми нашлась линия сетки; допуск — две точки экрана. «Сдвиг при сжатии окна» — насколько линии уехали относительно картинки, когда окно сузили с широкого до узкого.

Вывод

Сетка работает так, как просили. На всех пяти примерах линии рисуются поверх картинки на панели «После выравнивания», полупрозрачные — скан сквозь них читается, мышь они не перехватывают. При сжатии окна с 673 до 484 точек сетка уехала относительно картинки не больше чем на 0,02 точки, то есть осталась приклеенной к скану. На вкладке «Как есть» линий нет — они посчитаны на выровненной странице, и на исходное фото их не переносят.

Совпадение с самим сканом. Всего на пяти примерах нарисовано 319 линий. 268 из них (84%) идут по настоящей печатной линейке бланка, и 249 из этих 268 (93%) — с зазором не больше 2 точек при ширине страницы 1400 точек; типичный зазор — одна точка. Оставшиеся 51 линия проведены там, где на бланке линейки нет вовсе: это границы столбцов, которые разбор берёт по расположению текста (поля подписей, незалинованные блоки). Это не промах отрисовки — сетка честно показывает те границы, по которым режется текст.

Что не сошлось. Расхождения, которые видно глазами, все одного рода: сетки нет там, где разбор не считает область таблицей.

Ни одно из этих расхождений не лечится в самой сетке: она рисуется ровно по тем прямоугольникам, по которым движок режет текст на ячейки. Чтобы шапки и пропущенные столбцы попали под сетку, надо менять разбор таблиц, а его по условию не трогаем.

Что не сломалось. Клик по ячейке на скане по-прежнему подсвечивает и рамку, и значение в таблице справа — проверено на всех пяти примерах, сетка при этом остаётся на месте. Перетаскивания картинки мышью нет: протяжка на 130 точек вправо и 100 вниз сдвинула изображение на 0 точек. Ошибок в консоли браузера ни на одном примере не было.

Пример 1

Панель «После выравнивания» выбрана: да. Страниц: 2.

Что на страницах

Стр.Линий сетки: верт. / гор.ЯчеекКраёв ячеек с линиейЛиний на печатной линейкеИз них с зазором до 2 точекЛиний без линейки на скане
127 / 352931172 из 117258 из 62534
220 / 203611444 из 144429 из 402811

Что проверили отдельно

Что видно глазами

Сетка легла на всю товарную таблицу целиком — вместе с высокой шапкой и всеми 19 столбцами: розовые линии идут ровно по печатным линейкам бланка. Верхний блок (продавец, покупатель, реквизиты) тоже накрыт. Текст сквозь линии читается. Расхождений, которые видно глазом, нет.

Страница 1 с сеткой поверх выровненного скана, крупно
Страница 1 с сеткой поверх выровненного скана, крупно
Клик по ячейке: рамка и значение справа подсвечены, сетка на месте
Клик по ячейке: рамка и значение справа подсвечены, сетка на месте
То же в узком окне: сетка осталась на своих линиях
То же в узком окне: сетка осталась на своих линиях

Пример 2

Панель «После выравнивания» выбрана: да. Страниц: 2.

Что на страницах

Стр.Линий сетки: верт. / гор.ЯчеекКраёв ячеек с линиейЛиний на печатной линейкеИз них с зазором до 2 точекЛиний без линейки на скане
118 / 1988352 из 35231 из 34293
214 / 544176 из 17612 из 17125

Что проверили отдельно

Что видно глазами

Скан помятый и завален — сетка идёт вместе с картинкой, не отрывается от неё. Верхний блок с реквизитами накрыт полностью. В товарной таблице сеткой охвачены строка нумерации столбцов и четыре строки с товарами. Не охвачены: высокая шапка таблицы и три последних столбца (10, 10а, 11) — разбор не включил их в таблицу, поэтому и линий там нет. В нижней, выцветшей половине листа есть рамки текста, но сетки нет — таблицы там разбор не нашёл.

Страница 1 с сеткой поверх выровненного скана, крупно
Страница 1 с сеткой поверх выровненного скана, крупно
Клик по ячейке: рамка и значение справа подсвечены, сетка на месте
Клик по ячейке: рамка и значение справа подсвечены, сетка на месте
То же в узком окне: сетка осталась на своих линиях
То же в узком окне: сетка осталась на своих линиях

Пример 3

Панель «После выравнивания» выбрана: да. Страниц: 1.

Что на страницах

Стр.Линий сетки: верт. / гор.ЯчеекКраёв ячеек с линиейЛиний на печатной линейкеИз них с зазором до 2 точекЛиний без линейки на скане
19 / 2048192 из 19220 из 27187

Что проверили отдельно

Что видно глазами

Сеткой накрыты верхний блок с реквизитами и нижний блок с подписями. Главная товарная таблица сеткой не охвачена: разбор сложил её в блок из 3 столбцов вместо 19, поэтому вертикальных линий на всю страницу всего девять. В блоке подписей часть линий проходит там, где на бланке линейки не нарисовано — границы там взяты по расположению текста.

Страница 1 с сеткой поверх выровненного скана, крупно
Страница 1 с сеткой поверх выровненного скана, крупно
Клик по ячейке: рамка и значение справа подсвечены, сетка на месте
Клик по ячейке: рамка и значение справа подсвечены, сетка на месте
То же в узком окне: сетка осталась на своих линиях
То же в узком окне: сетка осталась на своих линиях

Пример 4

Панель «После выравнивания» выбрана: да. Страниц: 1.

Что на страницах

Стр.Линий сетки: верт. / гор.ЯчеекКраёв ячеек с линиейЛиний на печатной линейкеИз них с зазором до 2 точекЛиний без линейки на скане
124 / 29118472 из 47245 из 53398

Что проверили отдельно

Что видно глазами

Верхний блок и три строки товаров накрыты, линии идут по печатным линейкам. Не охвачена высокая шапка товарной таблицы — она осталась отдельными текстовыми блоками, а не частью таблицы. Слева видно, что сетка верхнего блока заходит на поле «Статус» — это край того же блока, а не промах.

Страница 1 с сеткой поверх выровненного скана, крупно
Страница 1 с сеткой поверх выровненного скана, крупно
Клик по ячейке: рамка и значение справа подсвечены, сетка на месте
Клик по ячейке: рамка и значение справа подсвечены, сетка на месте
То же в узком окне: сетка осталась на своих линиях
То же в узком окне: сетка осталась на своих линиях

Пример 5

Панель «После выравнивания» выбрана: да. Страниц: 2.

Что на страницах

Стр.Линий сетки: верт. / гор.ЯчеекКраёв ячеек с линиейЛиний на печатной линейкеИз них с зазором до 2 точекЛиний без линейки на скане
120 / 313081232 из 123249 из 51472
220 / 1554216 из 21624 из 352311

Что проверили отдельно

Что видно глазами

Самый чистый случай: товарная таблица на 18 строк и 16 столбцов накрыта целиком, линии совпали с линейками бланка почти везде. На второй странице сеткой накрыты обе таблицы. Расхождений, заметных глазом, нет.

Страница 1 с сеткой поверх выровненного скана, крупно
Страница 1 с сеткой поверх выровненного скана, крупно
Клик по ячейке: рамка и значение справа подсвечены, сетка на месте
Клик по ячейке: рамка и значение справа подсвечены, сетка на месте
То же в узком окне: сетка осталась на своих линиях
То же в узком окне: сетка осталась на своих линиях