Много вопросов :( php-Excel-PDF-print...

iser

Новичок
Много вопросов :( php-Excel-PDF-print...

Привет всем.
Прошу Вас помочь мне (самоучке) с решением одной комплексной задачи... Кто чем может... любой совет пригодится.

Заранее хочу поблагодарить тех, кто не пройдут мимо, а прочтут мой "доклад", войдут в мое положение, и предложат оптимальное решение.

Наша фирма занимается отгрузкой определенного стройтельного материала, вагонами. Кроме этого имеется автопарк и другая техника для добычи, обработки и трпанспортировки данного материала. Так же имеется бухгалтерская программа, созданная на базе FoxPro, которая, к сожаленью, решает только около половины всех задачь. Почему ее не расширяют - не знаю, но этого точно не будет. Вобщем, чего не хватает в той программе, сделал я им в Excel.

В этом году мы становися филиалом другой фирмы, которая находится в другом городе. Мне поставили задачу: все что я сделал в Excel - переделать в виде веб-приложения, чтобы было доступно как нам, так и руководству главной фирмы. Для меня ближе - php & mysql, поэтому решил создать приложение на php & mysql. Но перед тем как начать, возникли кое какие вопросы, ответ на которые я попрошу у Вас. Эти вопросы в основном связаны с распечаткой документов.

1-й вопрос.
В Excel я создал им около 20-и шаблонов для отгрузки. Продукцию мы отгружаем вагонами, для этого от ж.д. агенств мы получаем пустые ж.д.накладные которые мы заполняем. Их несколко видов, причем не только А4, но и А3, в зависимости от страны в которую вагоны отправляются. В Excel я сделал формы, в которые они вводят нужную инфу, которая в свою очередь попадает на другой лист в определенные ячейки. В принтер вставляется ж.д. накладная и на нее выводится только нужная инфа в нужные места... Минус в том что отправки не сохранялись... Теперь станет возможно сохранять все отправленные вагоны, но не представляю как сделать распечатку из php, таким образом чтобы нужная инфа попадала в нужные места, причем и на А3-формате. У меня такие варианты: php->Excel->Print, php->PDF->print, php->html->>print...

Скажите, пожалуйста, какой из этих вариантов более подходящий? И как его реализовать? Я имею некоторый опыт работы с php & mysql, но на печать не обращал особого внимания... просто print() из JavaScript и все. А тут намного сложнее...

2-й вопрос.
Один из важных документов печатался из DOS-файла, и только на матричном принтере. Для того чтобы буквы состояли как бы из точек... Такой шрифт доступен только из DOS-файла, открытом в DOS Navigator. Сколько не пытался найти такой шрифт в Excel, в Сети искал... - не нашел. Как использовать DOS-шрифты в Excel или php ?? И что это за шрифт, буквы которого состоят из точек?

3-й вопрос.
Можно ли установить какие либо настройки печати из php? Вернее из JavaScript? Я знаю про функцию print() которая просто отправляет страницу на принтер, а мне нужно было бы установть размер бумаги, поля, выбрать притер из списка и др... Идеально было бы иметь в JS такую настройку как в Excel "Установить не более чем ХХ старниц в ширину и ХХ страниц в высоту"... Может есть такое?? Если нет, то как решить проблему распечатки из php? Я это решал с помощью макросов VBA, но сейчас не хотелось бы перемешать php с VBA... Не то что не хочу, не знаю как!! :(

4-й вопрос.
Можно ли экспортировать данные из php в Excel, но не просто экспортировать, но чтобы заранее создать шаблон, и при экспорте данные попадали в определнные ячейки, не меняя при этом ни размеры столбцов/строк, ни их формат, без использования VBA? Это я на случай, если 3-й вопрос нерешимый...

5-й вопрос (и последний).
Может кроме моих вариантов, существуют и другие, более рациональные? Как бы Вы решили эти задачи?

Спасибо всем.
 

Faster

Новичок
1.общий формат передаваемых данных тебе поможет, например XML. разбор и формирование структуры xls средствами php весьма однобокое занятие.
2.читай про теорию шрифтов, станет ясен ответ на твой вопрос.
3. рыл, не нашел. JS тупо вызывает окошко настроек - print()
 

FractalizeR

Новичок
1. Лучше php->PDF->print. Печать HTML страниц зависит от браузера, из которого печатаешь. Да и ненадежное это дело. Браузер может текст переформатировать. По реализации - лучше поиском воспользоваться. Думаю, вы быстро библиотеку найдете, какая вам нужна.

2. http://www.acidfonts.com/cgi-bin/csvsearch.pl?NAME=matrix&method=exact
Печать шрифтом матричного принтера и печать на матричном принтере при любом качестве шрифта - разные вещи.

3. Думаю, можно попробовать настроить нужные параметры через CSS http://www.umade.ru/log/2006/03/186.html http://www.w3.org/TR/css-print/

4. Из PHP можно создавать и манипулировать Excel файлами как угодно. Поищите нужные библиотеки на http://pear.php.net

5. Для ответа не хватает информации о системе учета предприятия, но писать системы учета в вебе - не слишком хорошее решение. Я бы предпочел обычную клиент-серверную архитектуру, а не веб.
 

TutanXamoN

Новичок
1.2.3.4. На все ети вопросы есть такой вариант как свободная библиотека FPDF один из её плюсов ето возможность с помощью приложений входящих в комплект прикрутить любой шрифт.
Да и пользоваться ей гораздо удобней(ИМХО).
Вариант php->PDF->print считаю наиболее перспективным.
3. ДжаваСкриптом никак. Есть вариант с установкой всех параметров с помощью CSS и потом просто print();
4. Ексель создавать можно но всё таки мне больше по душе пдф"ки

5. Скажем так недавно имел подобный гемморой - учёт клиентов в аутглюке, отправка заказов из екселя, приём ответов по мылу в текстовом нетипизированном файле, отгрузка на склад с накладной в екселе и ведение склада локально в акксесе.
При всём етом создавали ВЕБ-CRM.
Гемороя много - практическая польза есть, но гемора оч много.
Как человек который сталкивался с етой проблемой говорю сразу - согласуй все етапы всех типов продаж/отгрузок/погрузок/покупок. На етапе планирования ето тяжело но потом иногда всплывают такие детали которые заставляют менять всю архитектуру.
Согласуйте формат обмена данными - мне ПХПшнику было проще просидеть два дня за книгой по С++ и написать в вижуал студие пару локальных програмок которые создавали из файлов поставщиков нормальные типизированные файлы. И програмку в которой клиент вбивал себе артикулы количества и отправлял на мыло с которого автоматом вбрасывалось в базу.

-~{}~ 05.01.08 11:34:

ЗЫ: всё ето делалось в вебе, но на мой взгляд лучше было бы создать один сервак с базой и одну локальную программу с логином + со всеми ф-циями. Те вещи ради которых в веб реализации нуно достать мозг из головы и через задницу засунуть его обратно в обычных аппликухах решаються на раз.
 

iser

Новичок
Благодарю за отзывы.
На этом этапе я понял одно: без новых знаний не обойтись...

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

Взяться за изучение С++ или ВБА - скорее всего не буду... нету ни времени ни желания... А вот ПДФ, ФПДФ думаю можно попробовать... Я почему то и сам склонялся к этому...

КСС - вроде знаю что это такое, но как с его помощью можно установить свойства печати - незнаю... Например формат бумаги, поля, выбор принтера...

FractalizeR - спасибо за ссылочки, обязательно посмотрю.

Нашел где то на этом форуме что можно использовать ранее созданные шаблоны Excel, но для этого нужен Виндовс-сервер (использование СОМ-технологии). Это было бы классно, только я пока не знаю что у них за сервак...
 

kode

never knows best
Автор оригинала: TutanXamoN
Cкажем так недавно имел подобный гемморой - учёт клиентов в аутглюке, отправка заказов из екселя, приём ответов по мылу в текстовом нетипизированном файле, отгрузка на склад с накладной в екселе и ведение склада локально в акксесе.
При всём етом создавали ВЕБ-CRM.
Гемороя много - практическая польза есть, но гемора оч много.
Как человек который сталкивался с етой проблемой говорю сразу - согласуй все етапы всех типов продаж/отгрузок/погрузок/покупок. На етапе планирования ето тяжело но потом иногда всплывают такие детали которые заставляют менять всю архитектуру.
Согласуйте формат обмена данными - мне ПХПшнику было проще просидеть два дня за книгой по С++ и написать в вижуал студие пару локальных програмок которые создавали из файлов поставщиков нормальные типизированные файлы. И програмку в которой клиент вбивал себе артикулы количества и отправлял на мыло с которого автоматом вбрасывалось в базу.

-~{}~ 05.01.08 11:34:

ЗЫ: всё ето делалось в вебе, но на мой взгляд лучше было бы создать один сервак с базой и одну локальную программу с логином + со всеми ф-циями. Те вещи ради которых в веб реализации нуно достать мозг из головы и через задницу засунуть его обратно в обычных аппликухах решаються на раз.
Да вот только с распостранением будут большие сложности. Просто надо требовать чёткого ТЗ и чётко по нему продумать-строить архитектуру. Просто на деле встречался с корпоративным-безумием. фича-реквесты сыпались 3-4 мегабайтным ТУДУ в неделю, со всех отделов, а виновато то что проект изначально был без чёткого плана и ТЗ ну и соответсвенно примерно через месяц код закостылился. Требуйте от начальства/заказчика чётко что они хотят, причём чётко документировано :)
 

iser

Новичок
У нас все проще... работать с инфой будем только мы (бухгалтерия и маркетинг филиала). А с глвной фирмы будут лишь наблюдать... типа как оперативно вводится инфа, получать быстро отчеты и т.д. и т.п. Кроме того, склады и все такое у них находится в ФоксПро... На моей шее только отгрузка и еще кое какие вещи. Архитектура не сложная. Главная проблема - печать. А все остальное у меня уже запланировано...
 

TutanXamoN

Новичок
Ну раз так то копай ФПДФ. Будут по нему вопросы стучись в личку что-что а с ним я до посинения наработался.
И всё же очень рекомендую нормальное ТЗ.
 
Сверху