+ Ответить в теме
Показано с 1 по 2 из 2

Тема: Разрыв таблицы при печати по тексту. Читать невозможно.

  1. #1
    Новичок snegopad на пути к лучшему Аватар для snegopad
    Регистрация
    14.12.2017
    Сообщений
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Разрыв таблицы при печати по тексту. Читать невозможно.

    Здравствуйте.
    Мне надо печатать таблицы так, чтобы разрыв в конце и начале страницы происходил по границе строки.

    Есть две таблицы по вертикали. Та, что слева, копия той, что справа. Если одна таблица ниже другой, то происходит разрыв по тексту. Становится трудно прочесть текст.

    Скриншот:
    https://yadi.sk/i/k3DCp5_83Qcvr8

    Задача имеет универсальное решение или каждый раз индивидуально? Или есть код, который надо переделать под себя?

    HTML код таблицы генерируется на PHP.

  2. #2
    Местный Degradator на пути к лучшему Аватар для Degradator
    Регистрация
    02.07.2012
    Сообщений
    1,879
    Thanks
    141
    Thanked 140 Times in 140 Posts
    Скорее всего универсального решения нет. Говорю это опираясь только на свой опыт генерирования таблиц для pdf документов. Генерировал при помощи itext, ireport, fpdf. Что происходит при отрисовке таблиц:

    У тебя есть большой блок (таблица), который не влазит в блок поменьше (страница a4).
    В самом простом случае у тебя есть 500 строк, каждая по сантиметру высотой. Браузер при печати разобьет текст по строкам, и разрежет таблицу примерно там где надо, но скорее всего ты будешь видеть обрезанные границы таблицы.
    Случай сложнее - у тебя есть 10 строк таблицы, каждая по высоте занимает чуть больше половины страницы. Если рисовать по одной строке, то у тебя будет очень много пустого места. Если рисовать по несколько строк, то каждая будет разрезана в неожиданных местах. Особенно это играет роль, когда внутри твоей таблицы есть рисунки.

    Что мы делаем:
    Определяем требования - если строка по высоте меньше чем 2 сантиметра, рисуем ее без разрезания. Иначе, либо доверяем браузеру разбить ее на оптимальные высоты, либо пишем свой велосипед, который будет сам решать как ее разбить на нужную высоту.

    В момент печати, при помощи js:
    клонируем таблицу
    скрываем исходную таблицу
    бежим по строчкам клонированной таблицы и считаем высоту
    как только высота становится больше чем может влезть в страницу a4 -
    клонируем клонированную таблицу
    удаялем из второго клона весь html
    перносим все строки з первого клона во второго
    добавляем второго клона на стрницу (он должен попасть ровно на новую страницу)
    повторяем пока все строки из исходной таблицы не будут помещены в html

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

+ Ответить в теме

Похожие темы

  1. Ответов: 3
    Последнее сообщение: 22.05.2012, 11:57
  2. Ответов: 6
    Последнее сообщение: 07.05.2011, 12:52
  3. Вопрос по тексту!
    от 00707 в разделе HTML
    Ответов: 2
    Последнее сообщение: 30.08.2009, 15:39
  4. Разрыв соединения
    от Lotus в разделе PHP
    Ответов: 3
    Последнее сообщение: 30.03.2009, 16:39
  5. noshade длина по тексту
    от Masha в разделе HTML
    Ответов: 6
    Последнее сообщение: 02.06.2008, 11:13

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения