задача о нумеровке много-много страниц
то можно попытаться написать на ps'е небольшую программульку,
которая будет номера на страницах печатать, и послать её на принтер
или, действительно, использовать тех
Почему word не подходит?
Я ps не знаю
У него ограничение на 32к страниц потому что.
http://lorien.local/pub/docs/postscript/
но он достаточно большой, а сам язык странноват немного
по нему есть мануал в локалке но он достаточно большой, а сам язык странноват немного
А большая получиться программка? Долго ее писать придется?
источник)
История в тему (Все написано ниже - исключительно вранье и я признаю это сразу.
Hичего такого не было, все совпадения случайны, а все имена изменены до
неузнаваемости.
Уже не верите? Правильно.
Решился - таки я сюда написать, дабы найти одного человека. И напиться с
ним. Что это за человек? : Будет сказано в конце "сказки".
Итак, как это здесь принято, преамбула.
Устраивался я некоторое время назад работать "главным-по-компьютерам" в
одну крупную фирму. Прежний товарищ на этой же должности (назовем его
Андрей) сдает мне дела. Один из фронтов "борьбы" - железо. Конкретнее
принтера. Еще конкретнее - принтер ХП8150. (для незнающих, что это такое
- это такой большой принтер размером в сантиметрах примерно 60*60*60).
Показывал мне этот принтер, Андрей явно гордясь им. Попутно рассказал
историю того, как долго и мучительно он выбивал из руководства денег на
эту железку, несколько раз упоминал сколько он стоит (!) какой
производительности и пр. и пр. Гордость технического человека была
вполне понятна. И когда он навысказывался заславных эпитетов, я
рассказал ему свою историю:.
Амбула.
Работал я в Фонде. Тоже "главным по компьютерам". Фонд - это такая
государственная организация, которая с предприятий денег собирала, а
потом их раздавала "тому -кому-нада". И все были счастливы. И мне работы
хватало.
Hо вот однажды в середине ноября 2000-го года приносят нам Распоряжение
Правительства некоторой страны от 16.10.2000 N 1462-р (навсегда я
запомнил эти цифры!) за подписью примьер-министра К$.
Конечно-же все сделано задним числом и конечно-же со сроком исполнения -
вчера. Hет, даже не вчера - аж месяц назад! "А разве где-то бывает
иначе? " - скажете вы и будете правы.
Распоряжения хорошее, полезное... Ёптить:. Суть его такова: раньше фонды
(и мой тоже) денег с предприятий собирали сами, а с 01 янавря 2001 года
деньги будет собирать "гос. налоговая служба" (знаете такую?) и
раздавать собранные деньги фондам. А уж дальше фонды вольны "в рамках
действующего законодательства".
Казалось-бы, что все чудесно: пущай налоговая сама денег собирает. Ага ?
Щщщщаас!
Чтобы налоговая сама стала собирать денег за фонды, они (фонды) обязаны
"сверить списки" плательщиков (тобишь предприятий, организаций и тд.) с
налоговой. Всего-навсего. Вид сверки - бумажный. При этом, на каждого
плательщика я (фонд) обязан напечатать "простыню информации", которую
удалось ужать мелким шрифтом на шести (!) страницах формата А4. Хуже
того, все это надо сделать в трех экземплярах (один отдать в налоговую
службу, один в центральный офис фонда, один в филиал фонда).
Hо и это еще не все.
Данная процедура должна быть проделана в три этапа: первый с
промежуточным сальдо (читай "по состоянию на:. " ) на первое октября
2000 года (скажите, кому оно надо? ); далее делается все тоже самое с
сальдо на первое января 2001 года; а в третий раз все делается тогда,
когда плательщик сам придет отчитываться в фонд.
Hапомню, распоряжения попало в фонды в ноябре!
Перво-наперво я решил посчитать сколько на все это уйдет бумаги.
Оказалось около 15-18 тонн бумаги формата А4 плотностью 80г/м2.
Да, совсем забыл! Каждый экземпляр должен собственноручно подписать наш
директор, и печать наша должна быть приложена.
(Hесколько лет безотрывочного подписывания: гы-гы-гы::)
Когда на очередном совещании я сказал своему директору и Ко, что нужен
будет "Камаз бумаги", мне не поверили. Пришлось убеждать в верности
расчетов математическими выкладками с умножениями.
Убедил.
Hа резонный вопрос "Че делать" я указал директору на пунктик, который
явно упоминал, что "по согласованию": "возможна": "сверка электронных
носителей".
Hа долгие и неуспешные терзания и попытки договориться с "налоговой
службой" по-хорошему, по-электронному ушло более двух недель. А дело-то
стоит на месте !
Дальше моим руководством мне было сделано политическое разъяснение, что
"налоговая служба" не уверена в том, что сможет собрать денег скока
надо.
Причина была том, что в условиях неразберихи "куда платить и что делать"
многие предприятия просто решат подождать месяцок-другой и потом
заплатить штраф за просрочку, чем про$бать все деньги, что надо было
заплатить, заплатив нетуда. И будут, в принципе, правы.
Кто при этом окажется виноват в срыве планов Правительства? Hалоговая, не
собравшая денег? Hеа. Фонды! Они-же не согласовали списки плательщиков!
Помните гагаринское "Поехали! "? Вот так-же оптимистично мне было
сказано: "Печатай! Денег будет. "
И вот тут-то и встал всерьез вопрос: "Где и на чем печатать? " Тираж
такой, что надо нанимать типографию. Hо ведь седня я отдам
несколькогигабайтную базу в типографию, а завтра ею будут торговать в
митино.
Покупать себе типографию - выход. Hо что делать с этой типографией после
этого разового тиража ?
А принтеры хоть както еще можно будет использовать ( иль подарить кому
.
В результате множества терзаний и раздумий, покупаю 6 (шесть) штук уже
упомянутого ХП8150 (на тот момент самый у них большой). К принтерам
пол-актового зала картриджей. Бумагу мне подвозили Газелями:.
Любой, работающий в крупной организации, знает, что все свободное место
быстро заполоняется сотрудниками. И мой фонд не был исключением:
свободных помещений нет. Просто нет. Все уплотненО и потесненО. При этом
мне выделяют под распечатки целую комнату. Скандал и визг был
неимоверный. Hо все же всех подвинули и в отдельную комнату поставили
эти принтеры.
Итого, работа закипела:.
Принтеры печатали по 16 часов в сутки:
Когда была готова первая партия распечаток (с тонну примерно) я позвонил
в "налоговую службу" и попытался согласовать "куда, когда и кому можно
подвести распечатки? ". Мне честно ответили: "А нам некуда складывать
Вашу бумагу:. "
Этот вопрос был решен на более высоком уровне с выигрышем одного очка в
нашу пользу.
Следует также упомянуть всякого рода технические сложности с
организацией одновременной печати на шести принтерах, сложности с
переозонированием воздуха, ералашем со стопками готовых распечаток,
организационные ляпы, придирки к мелкому шрифту и пр. и пр. и пр. Hо это
будет не так интересно.
Уж поверьте, зимой 2000/2001 года мне работы хватало и я, отнюдь, не
скучал.
Все это дело кончилось тем, что "налоговая служба" все-таки собрала
нужный объем денег и посему "хвосты" я допечатывал уже весной неспешно и
брезгливо.
Кульминация
Выслушав мой рассказ, гораздо более полный чем я могу
напечатать здесь, Андрей мыл мягко говоря ошаращен. Отсмеявшись и придя
в себя он, мягко говоря, удивил меня. "А у меня - сказа он - есть
знакомый, который пишет софт для "налоговой службы", так вот он как-то
рассказывал, что весной 2001 года ему сделали заказ на то, чтобы он
отсканировал и распознал :. ТРИ КОМHАТЫ БУМАГИ! "
Тут уже выпали в осадок мы оба:.
Возвращаясь к преамбуле: контакт с Андре
один цикл, в котором ставится номер в нужное место страницы и производится переход к следующей
время написания зависит от опыта общения с языком,
не исключено, что в техе окажется всё-таки быстрее
А как отправлять на печать из программки?
Мне вопрос?
Ну наверное
open PRINTER, "|/usr/bin/lpr";
ну и т.д.
А в винде?
так печатай по одной страничке, изменив только номер страницы
1. Открыл Word и сделал шаблон на одну или несколько страниц
2. Сохранил шаблон в rtf или xml-виде
3. Нашел в шаблоне упоминание о номере страниц
4. Написал программку на любимом языке, которая
a) меняет начальный номер страниц в шаблоне
b) отправляет шаблон на принтер
Тогда для меня не понятно, как же шаблон на принтер отправить? В винде.
И не захлебнется ли она, если ей много-много документов на печать отправить? Очередь наверняка ограничена.
Умеет, начиная с 2003.
> Тогда для меня не понятно, как же шаблон на принтер отправить? В винде.
Через DDE, например, можно.
> И не захлебнется ли она, если ей много-много документов на печать отправить? Очередь наверняка ограничена.
Во первых, можно очередь проверять
Во-вторых, можно отправлять с некоторой подобранной задержкой
в-третьих, можно сделать кнопку по которой будет отправляться следующая партия
> Во первых, можно очередь проверять
> Во-вторых, можно отправлять с некоторой подобранной задержкой
> в-третьих, можно сделать кнопку по которой будет отправляться следующая партия
бррр....
вот он, виндовс-way, бля
путь воина:
%!PS-Adobe-3.0
%%BoundingBox: 24 24 571 818
%%Orientation: Portrait
%%DocumentMedia: A4 595 842 0
%%EndComments
/Helvetica findfont 12 scalefont setfont
1 1 210000 {
500 100 moveto
10 string cvs show
showpage
} for
%%EOF
Например как?
по крайней мере так в 2.0
поспорим на пиво, что оно работает?
А куда пихать входной поток страниц?
задача ведь только пронумеровать была
и чё это за хуйня?
http://www.fido.nnov.ru/win/Excel/Downloads/ddecmd.zip
bat-ник для печати будет, примерно, следующим:
Берешь утилиту ddecmd: bat-ник для печати будет, примерно, следующим:
"C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE" /x /n /dde
DdeCmd WinWord System [FileOpen("%1")][FilePrint 0][FileExit 2]
твой код и вьювер, показывающий первую страницу из нуля
и чё это доказывает?
m.b. что хреновый ps?..
скорее хреновый вьювер или ты не знаешь, что творишь
1) если там есть первая страница, то почему там не может быть 210000й?
2) отправь это на псный принтер и пронаблюдай результат
3) насколько я понял, ты принял предложение о споре, так что с тебя пиво
могу продемонстрировать работоспособность на нормальной смотрелке и на HP LJ 1200
у него точно стек не переполнится?
а распечатывать 210000, чтобы проверить, не буду
и вообще, какой нафиг стек, если там цикл, а не рекурсия?
я тебе продемонстрировал неработоспособность, и что дальше?..
Если ты пришлешь заказчику прогу, а она у него не запашет, вряд ли прокатит ответ "не знаю, у меня дома работало"
речь изначально шла о печати
кстати, нажми кнопку перехода на следующую страницу в смотрелке
кстати, нажми кнопку перехода на следующую страницу в смотрелке
издает мерзкий звук и остается на той же странице, а вот %%Page: 1 1 - действительно добавляет страницу. Одну штуку
$ gs -dBATCH -dNOPAUSE -sDEVICE=pswrite -sOutputFile=t1.ps t.ps
GNU Ghostscript 6.53 (2002-02-13)
Copyright (C) 2002 artofcode LLC, Benicia, CA. All rights reserved.
This software comes with NO WARRANTY: see the file COPYING for details.
Loading NimbusSanL-Regu font from /var/lib/defoma/gs.d/dirs/fonts/n019003l.pfb... 2013532 627245 1622424 329320 0 done.
Error: /stackoverflow in {--pop-- false}
Operand stack:
--nostringval--
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- 50457 1 210000 --nostringval-- %for_pos_int_continue 50456 3 %oparray_pop --nostringval-- 50457 3 %oparray_pop --nostringval-- --nostringval-- --nostringval--
Dictionary stack:
--dict:1036/1476(roG)-- --dict:0/20(G)-- --dict:67/200(L)--
Current allocation mode is local
Current file position is 227
GNU Ghostscript 6.53: Unrecoverable error, exit code 1
в цикле на VBA
1. устанавливаешь номер страницы
2. посылаешь на печать
Небольшая проблема в том, что Ворд не хочет устанавливать номер страницы больше какого-то значения, но можно просто в колонтитул записывать текст с номером страницы.
ок, dup был лишний
ну блин, документацию почитай про showpage
http://lorien.local/pub/docs/postscript/plrm.pdf (стр 690)
%%Page используются для статического разбиения на страницы,
но отсюда никак не следует, что их нельзя генерить по-другому
только в реальности ты одним заданием не обойдёшься:
в принтере будут кончаться чернила,
часть бумаги он зажуёт,
оператор будет ошибаться
надо будет прерывать печать, а потом продолжать, возможно с наложением
у скрипта на VBA больше шансов заиметь в процессе развития необходимую обратную связь,
чем у твоего решения
Видать GhostScript только статическую разбивку понимает
зато так элегантнее
у меня всегда документы без такой разбивки смотрелись
может быть... давно его ставил
Мне этот путь как я понимаю подходит.
Только мануал по этому пс огромный какой, 912 страниц.
Может ты знаешь, как точно позиционировать число? Надо на каждой странице по три числа ставить, и совсем не в углу, как при обычной нумерации, а в фиксированном месте.
левого нижнего угла листа (в пунктах, равных 1/72 дюйма,
500pt вправо, 100pt вверх).
Текст печатается вправо и вверх от этой точки, если нужно
другое выравнивание, то нужно дополнительно корректировать.
PS всё-таки не запугал возможными проблемами?
На печать выдам гостскриптом по странице.
А если нужна альбомная ориентировка?
ЗЫ Кстати прикол - все это дело будет печататья подаванием на принтер по одной странице нежными девичьими ручками (70килостраниц). Потому что бумага очень тонкая и принтер ее забирает по несколько или жует
Можно текст повернуть.
Для этого достаточно после moveto поставить
что-то типа "90 rotate" (угол в градусах против часовой стрелки).
Если нужно именно ориентацию бумаги поменять,
то Portrait на Landscape в заголовке изменить.
Спасибо тебе
А писать номера ручкой не быстрее, чем засовывать по одной странице?
Хотя можно спросить.
Оставить комментарий
Eugenia_2005
Появилась у меня такая вот задача.Есть около 210тысяч страниц а4 (хз откуда и зачем). Надо их всех пронумеровать - пару чисел каких-то поставить в нужных местах. Требуется скрипт, это делающий максимально автоматично (бумагу он в принтер подкидывать конечно не будет, но было бы клево).
Я так думаю стоит генерить теховский документ на страничку (или сразу на много страниц его компилить в пдф, и на печать отправить.
Вот вопрос, может есть лучшие способы?
Ворд видать сильно для такой цели не подходит, его не предлагать.