Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Печать очень широких таблиц, как разбить по страницам? / 25 сообщений из 43, страница 1 из 2
02.10.2012, 21:33
    #37980951
Новичок_я
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
Всем привет!

Формирую HTML документ, в котором есть очень широкая таблица. Необходимо чтобы при печати эта таблица автоматически разбивалась на печатные страницы
Документ создаю из XML + XSLT
Текст шаблона:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
<?xml version="1.0" encoding="Windows-1251" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" media-type="text/html; charset=windows-1251" />
<xsl:template match="/">
<html>
	<head/>

	<body>
	<font face = "Arial">
		

	<table border = "0" >
		<xsl:attribute name = "width">
			<xsl:value-of select="//ApportionMenuInfo/PageWidth"/>
		</xsl:attribute>
	<tr><td>

	<style>
		.tbl
		{
			border-collapse: collapse;
		}
		.tbl td
		{
			border: solid 1px silver;
			padding: 0px;
		}
	</style>

	<table border = "0" width = "100%">
		<tr>
			<td style = "font-size: 10pt; width = 50%; text-align = left">
				<br>Наименование учреждения: <u><xsl:value-of select="//PersonalData/Organization"/></u></br>
				<br>Утверждаю</br>
				<br>Главный врач<u>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
							&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</u> (подпись)</br>
			</td>
			<td style = "font-size: 10pt; width = 50%; text-align = right">
				<br>Форма № 44-М3</br>
				<br>к Инструкции по организации</br>
				<br>лечебного питания</br>
				<br>в лечебно-профилактических</br>
				<br>учреждениях</br>
			</td>
		</tr>
		<tr>
			<td style = "font-size: 11pt; width = 100%; text-align = center">
				<br>МЕНЮ-РАСКЛАДКА ДЛЯ ПРИГОТОВЛЕНИЯ ПИТАНИЯ</br>
				<br>НА <xsl:value-of select="//ApportionMenuInfo/IllNumber"/> БОЛЬНЫХ НА <xsl:value-of select="//ApportionMenuInfo/ExecDateCl"/></br>
			</td>
		</tr>

	</table>


	<table border = "0" width = "100%" cellpadding = "2" cellspacing = "0" class = "tbl">

	<tr>
		<td colspan = "2" style = 'font-size: 10pt; width = 20%; text-align = center'>Наименование</td>
		<td style = 'font-size: 10pt; width = 60%; text-align = center'>
			<xsl:attribute name = "colspan">
				<xsl:value-of select = "count(//MainTable/MealTime/Diet/Project) + 1"/> 
			</xsl:attribute>
			Количество продуктов питания, подлежащих закладке
		</td>

	</tr>

	<tr>
		<td rowspan = "2" style = 'font-size: 10pt; text-align = center'>продукта</td>
		<td rowspan = "2" style = 'font-size: 10pt; width = 10%; text-align = center'>ед. изм.</td>

		<xsl:for-each select = "//MainTable/MealTime">
		<td style = 'font-size: 10pt; text-align = center'>
			<xsl:attribute name = "colspan">
				<xsl:value-of select = "count(./Diet/Project)"/>
			</xsl:attribute>
			<xsl:value-of select="./Name"/>
		</td>
		</xsl:for-each>
		<td rowspan = "2" style = 'font-size: 10pt; text-align = center'>Итого</td>
	</tr>

	<tr>
		<xsl:for-each select = "//MainTable/MealTime/Diet">
				<td style = 'font-size: 10pt; text-align = center'>
					<xsl:attribute name = "colspan">
						<xsl:value-of select = "count(./Project)"/>
					</xsl:attribute>
					<xsl:value-of select="./Name"/>
				</td>
		</xsl:for-each>

	</tr>

	<tr>
		<td style = 'font-size: 10pt; text-align = left'>№ блюда</td>
		<td style = 'font-size: 10pt; text-align = center'>&#160;</td>
		<xsl:for-each select = "//MainTable/MealTime/Diet/Project">
				<td style = 'font-size: 10pt; text-align = center'>
					<xsl:value-of select="./Number"/>
				</td>
		</xsl:for-each>

		<td style = 'font-size: 10pt; text-align = center'>&#160;</td>
	</tr>

	<tr>
		<td style = 'font-size: 10pt; text-align = left'>Наименование блюда</td>
		<td style = 'font-size: 10pt; text-align = center'>&#160;</td>

		<xsl:for-each select = "//MainTable/MealTime/Diet/Project">
				<td style = 'font-size: 10pt; text-align = center'>
					<xsl:value-of select="./Name"/>
				</td>
		</xsl:for-each>

		<td style = 'font-size: 10pt; text-align = center'>&#160;</td>
	</tr>

	<tr>
		<td style = 'font-size: 10pt; text-align = left'>Количество порций</td>
		<td style = 'font-size: 10pt; text-align = center'>шт</td>

		<xsl:for-each select = "//MainTable/MealTime/Diet/Project">
				<td style = 'font-size: 10pt; text-align = center'>
					<xsl:value-of select="./Portion"/>
				</td>
		</xsl:for-each>

		<td style = 'font-size: 10pt; text-align = center'>&#160;</td>
	</tr>

	<tr>
		<td style = 'font-size: 10pt; text-align = left'>Выход - вес порции</td>
		<td style = 'font-size: 10pt; text-align = center'>г</td>

		<xsl:for-each select = "//MainTable/MealTime/Diet/Project">
				<td style = 'font-size: 10pt; text-align = center'>
					<xsl:value-of select="./Weight"/>
				</td>
		</xsl:for-each>

		<td style = 'font-size: 10pt; text-align = center'>&#160;</td>
	</tr>

	<xsl:for-each select = "//RawList/Raw">
	<tr>
		<td style = 'font-size: 10pt; text-align = left'><xsl:value-of select = "./Name"/></td>
		<td style = 'font-size: 10pt; text-align = center'><xsl:value-of select="//ApportionMenuInfo/WeightUnit"/></td>

		<xsl:for-each select = "./Weight">
			<td style = 'font-size: 10pt; text-align = center'><xsl:value-of select = "@OPValue"/><xsl:value-of select = "@TotalValue"/></td>
		</xsl:for-each>
		<td style = 'font-size: 10pt; text-align = center'><xsl:value-of select="./TotalWeight"/></td>

	</tr>
	</xsl:for-each>

	</table>

	<table border = "0" width = "100%">
	<tr>
		<td style = "font-size: 10pt; width = 100%; text-align = left">
			<br>Врач-диетолог: ....................................................................... (подпись)</br><br/>
			<br>Медицинская сестра диетическая: ....................................................................... (подпись)</br><br/>
			<br>Зав. производством (шеф-повар): ....................................................................... (подпись)</br><br/>
			<br>Бухгалтер: ....................................................................... (подпись)</br>

		</td>
	</tr>
	</table>


	</td></tr>
	</table>

	</font>
    </body>
</html>
</xsl:template>
</xsl:stylesheet>



Сейчас документ печатается, но только та часть, которая помещается на ширину печатной страницы, все что правее - теряется. Подскажите, пожалуйста, как можно напечатать документ?
спасибо!
...
Рейтинг: 0 / 0
02.10.2012, 23:01
    #37981034
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
Новичок_яПодскажите, пожалуйста, как можно напечатать документ?
Таки самому бить на странички...
...
Рейтинг: 0 / 0
03.10.2012, 19:47
    #37982615
Новичок_я
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsaНовичок_яПодскажите, пожалуйста, как можно напечатать документ?
Таки самому бить на странички...
Понятно
Спасибо!
...
Рейтинг: 0 / 0
03.10.2012, 19:49
    #37982616
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsaНовичок_яПодскажите, пожалуйста, как можно напечатать документ?
Таки самому бить на странички...Т.е. делать отдельный HTML для каждой колонки листов? или я неправилльно понял?
...
Рейтинг: 0 / 0
04.10.2012, 08:46
    #37982917
RCK
RCK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
А как формируется сам html-код и каким образом происходит печать?
...
Рейтинг: 0 / 0
04.10.2012, 11:06
    #37983150
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
Новичок_я,
у вас 4 столбика, что тут может не влезать
---
выложите образец с данными
...
Рейтинг: 0 / 0
05.10.2012, 08:41
    #37984768
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
miksoftТ.е. делать отдельный HTML для каждой колонки листов?
В общем смысле - да.
Но всегда есть варианты...
...
Рейтинг: 0 / 0
05.10.2012, 12:16
    #37985145
The_ShadoW
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
Лучше уж сразу смотреть в сторону преобразования всех этих таблиц в pdf (а то и вообще какой-нибудь report engine приделать, и формировать таблицы сразу в печатном виде).
В pdf тоже придётся руками бить, но там хоть для этого условия есть.

HTML, увы, принципиально не предназначен для печати на бумаге, и граблей Вам придётся собирать до бесконечности.
...
Рейтинг: 0 / 0
05.10.2012, 16:11
    #37985630
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
The_ShadoW,

вордом стандартный НТМ отлично печатается(html-charset-теги table-tr-td-thead-p-h1-h2)
---
а больше на ваш отчет и не надо
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
14.02.2018, 07:42
    #39601548
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
вдруг кому-то надо
...
Рейтинг: 0 / 0
14.02.2018, 08:35
    #39601569
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
MaratIsk , что это?
...
Рейтинг: 0 / 0
14.02.2018, 09:20
    #39601590
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsa,

javascript формирующий pdf-файл из json
...
Рейтинг: 0 / 0
14.02.2018, 09:56
    #39601605
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
MaratIskjavascript формирующий pdf-файл из json
Там доки есть какие-то?
Про возможность почитать и все такое... У нас есть интерес к такому подходу.
...
Рейтинг: 0 / 0
14.02.2018, 10:08
    #39601612
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
Доков нет.

И пример дюже безликий.
Интересуют следующие элементы документа.
- Название
- Заголовки разного уровня
- Абзацы
- Списки
- Таблицы с повторяемыми "шапками" и без "шапок"
Какие из перечисленных элементов уже можно делать этим скриптом?
Можно ли получить примеры или описание текстовое как можно делать pdf-документ?
Возможно ли сотрудничество по развитию такого софта под наши хотения?

Запустил пример в Опере, нажал на кнопку "Экспорт". Открылась новая вкладка и все...
...
Рейтинг: 0 / 0
14.02.2018, 10:09
    #39601613
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsa,
какие доки? скрипт самодостаточен
скорми json в нужно формате и все
...
Рейтинг: 0 / 0
14.02.2018, 10:11
    #39601614
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsa,
спрашивайте - что пойму - подскажу
...
Рейтинг: 0 / 0
14.02.2018, 10:14
    #39601615
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsa,
не пробовал в опере
там ОТКРЫТЬ - просто для генерации демо-данных
...
Рейтинг: 0 / 0
14.02.2018, 10:16
    #39601616
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsaДоков нет.

И пример дюже безликий.
Интересуют следующие элементы документа.
- Название
- Заголовки разного уровня
- Абзацы
- Списки
- Таблицы с повторяемыми "шапками" и без "шапок"
Какие из перечисленных элементов уже можно делать этим скриптом?
Можно ли получить примеры или описание текстовое как можно делать pdf-документ?
Возможно ли сотрудничество по развитию такого софта под наши хотения?

Запустил пример в Опере, нажал на кнопку "Экспорт". Открылась новая вкладка и все...

это к pdf.org
...
Рейтинг: 0 / 0
14.02.2018, 10:17
    #39601619
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
MaratIsk,
pdfmake.org

очепятка )))
...
Рейтинг: 0 / 0
14.02.2018, 10:22
    #39601621
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsaДоков нет.

И пример дюже безликий.
Интересуют следующие элементы документа.
- Название
- Заголовки разного уровня
- Абзацы
- Списки
- Таблицы с повторяемыми "шапками" и без "шапок"
Какие из перечисленных элементов уже можно делать этим скриптом?
Можно ли получить примеры или описание текстовое как можно делать pdf-документ?
Возможно ли сотрудничество по развитию такого софта под наши хотения?

Запустил пример в Опере, нажал на кнопку "Экспорт". Открылась новая вкладка и все...

PDFMake не мой продукт
но от разработки на его основе не откажусь
...
Рейтинг: 0 / 0
14.02.2018, 10:28
    #39601623
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsa,

а нажмите сначала ОТКРЫТЬ )))
это же демо и данные откуда-то надо взять
...
Рейтинг: 0 / 0
14.02.2018, 10:32
    #39601627
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsaДоков нет.

И пример дюже безликий.
Интересуют следующие элементы документа.
- Название
- Заголовки разного уровня
- Абзацы
- Списки
- Таблицы с повторяемыми "шапками" и без "шапок"
Какие из перечисленных элементов уже можно делать этим скриптом?
Можно ли получить примеры или описание текстовое как можно делать pdf-документ?
Возможно ли сотрудничество по развитию такого софта под наши хотения?

Запустил пример в Опере, нажал на кнопку "Экспорт". Открылась новая вкладка и все...

сотрудничать готов
...
Рейтинг: 0 / 0
14.02.2018, 11:37
    #39601664
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
MaratIskскорми json в нужно формате и все
Так вот и интересно какой нужен json для получения элементов, что я описал выше...
MaratIskспрашивайте - что пойму - подскажу
Вот, спрашиваю:
- Как нужно оформлять следующие элементы
krvsaИнтересуют следующие элементы документа.
- Название
- Заголовки разного уровня
- Абзацы
- Списки
- Таблицы с повторяемыми "шапками" и без "шапок"
...
Рейтинг: 0 / 0
14.02.2018, 11:53
    #39601669
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsaMaratIskскорми json в нужно формате и все
Так вот и интересно какой нужен json для получения элементов, что я описал выше...
MaratIskспрашивайте - что пойму - подскажу
Вот, спрашиваю:
- Как нужно оформлять следующие элементы
krvsaИнтересуют следующие элементы документа.
- Название
- Заголовки разного уровня
- Абзацы
- Списки
- Таблицы с повторяемыми "шапками" и без "шапок"
json в файле data.js
...
Рейтинг: 0 / 0
14.02.2018, 12:34
    #39601712
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печать очень широких таблиц, как разбить по страницам?
krvsaMaratIskскорми json в нужно формате и все
Так вот и интересно какой нужен json для получения элементов, что я описал выше...
MaratIskспрашивайте - что пойму - подскажу
Вот, спрашиваю:
- Как нужно оформлять следующие элементы
krvsaИнтересуют следующие элементы документа.
- Название
- Заголовки разного уровня
- Абзацы
- Списки
- Таблицы с повторяемыми "шапками" и без "шапок" http://pdfmake.org/index.html#/gettingstarted
а в архиве ничего полезного
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Печать очень широких таблиц, как разбить по страницам? / 25 сообщений из 43, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]