• 50206
  • 107
  • 12
Нравится блог?
Подписывайтесь!

Вывод в Word части текста страницы

Итак, задался темой вывести часть данных со страницы в ворд. Сделал так: сначала открываю новую вкладку, потом в неё выношу нужные данные и у новой страницы меняю хидер через php.

В яваскрипте самой страницы на кнопку vWord срабатывает такое (тут на jQuery, но и на обычном js можно легко сделать):

На jQuery, хотя можно и обычным js
  1. $('#vWord').live("click", function (){
  2. file_name = ...; //тут подготавливаю удобное название будующего doc файла
  3.  
  4. page_text = "<html><body onload='document.forms[0].submit();'>"+$('#doc').html()+
  5. "<form action='"+location.href+"' method='POST'><input type=hidden name='vWord' value='"+
  6. $('#doc').html() + "'><input type=hidden name='file_name' value='"+file_name+"'></form></body></html>"; //$('#doc').html() - нужный кусок страницы
  7.  
  8. print_window = window.open(); // создаем новую вкладку
  9. print_window.document.write(page_text); // записываем в неё данные страницы
  10. print_window.document.location.reload(); // т.к. записали после открытия, с этим перегружаем её
  11. })

Суть такова, что подготавливаем на основной странице название будущего файла, выдираем нужный текст и открываем страницу (вкладку), где всё это помещаем в форму. В принципе если имя не особо важно, подставить его можно сразу напряму в php, и не передавать уже. На загрузку страницы, она сама отправляет данные формы (текст и название файла) на php от основной страницы. А там этому делу меняем хидер на вордовский и возвращаем под названием переданный текст:

  1. if (isset($_POST['vWord'])) { // создание файла Ворд
  2. ob_end_clean(); //зачищает хлам
  3. header("Content-type: application/x-msword");
  4. header('Content-Disposition: attachment; filename="'.$_POST['file_name'].'.doc"');
  5. echo "<html><body>";
  6. echo $_POST['vWord'];
  7. echo "</body></html>";
  8. exit();
  9. }

В общем, на новой вкладке выскочит нужный кусок и предложение сохранить вордовский файл. Другое дело, что надо юзерам разрешить открытие окон.

Руслан Fors fors
... и тем не менее я не идеален.
19 сентября 2012, 12:02
903

Загрузка...
Loading...

Комментарии

Интереснее было бы, если вы написали бы, как читать из Word в PHP...

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Казком берет комиссии за оплаты по карте. Почему на это закрывают глаза Visa и MasterCard?!

Казком берет комиссии за оплаты по карте. Почему на это закрывают глаза Visa и MasterCard?!

Покупаешь в супермаркете продукты на 5000 тенге и банк забирает себе еще 30-50 тенге. То есть, продукты обошлись уже не в 5000, а в 5050 тенге.
ValentinaVladimirska
25 мая 2017 / 22:56
  • 13752
  • 29
Узаконенное варварство в стране, принимающей «EPXO». Еще далеко нам до «топ-30 развитых стран»

Узаконенное варварство в стране, принимающей «EPXO». Еще далеко нам до «топ-30 развитых стран»

В продвинутых государствах едва ли поймут, почему в столь развитом, успешном и преуспевающем Казахстане от имени и по заданию властей творятся такие зверства над животными.
openqazaqstan
24 мая 2017 / 12:12
  • 10931
  • 102
Вырубка деревьев в Алматы под БРТ. Проект уже нанес городу экологический ущерб

Вырубка деревьев в Алматы под БРТ. Проект уже нанес городу экологический ущерб

Как ранее уже сообщалось из-за строительства БРТ в Алматы пострадают значительное количество деревьев. На прошлой неделе вырублены первые вязы и клён, - под расширение проезжей части на улице...
SKYFALL
24 мая 2017 / 17:20
  • 10876
  • 17
Поддержим пенсией жиреющие банки! На что казахстанцам разрешат досрочно тратить свои накопления в ЕНПФ

Поддержим пенсией жиреющие банки! На что казахстанцам разрешат досрочно тратить свои накопления в ЕНПФ

Со стороны ЕНПФ в очередной раз прозвучало крайне неоднозначное заявление, от которого, на наш взгляд, лучше было бы воздержаться.
openqazaqstan
23 мая 2017 / 11:08
  • 10006
  • 32
Системная коррупция стала главной угрозой для Казахстана. У нас воруют миллиардами

Системная коррупция стала главной угрозой для Казахстана. У нас воруют миллиардами

Коррупционные отношения вышли на такой уровень, что они уже начинают дискредитировать всю систему управления.
openqazaqstan
26 мая 2017 / 13:45
  • 8536
  • 34
Да-да, я знаю, пора выходить замуж. Есть ли у меня еще время и, пожалуйста, уточните сколько?

Да-да, я знаю, пора выходить замуж. Есть ли у меня еще время и, пожалуйста, уточните сколько?

Итак давайте сразу начистоту. Мне 29. Не замужем, никогда не была, детей нет. В душе я совсем не чувствую этот возраст. Каждый раз когда задумываюсь об этом больше чем на 3 минуты, меня накрывает...
user2017
23 мая 2017 / 10:57
Пока полицейские будут прощать, им будут бить и по чести, и по лицу

Пока полицейские будут прощать, им будут бить и по чести, и по лицу

Судья Алмалинского районного суда Куаныш Арипов ломает стереотипы отношения граждан к представителям Фемиды. Напавшему на полицейского экс-сотруднику алматинского акимата он назначил наказание выше...
Mirogloff
24 мая 2017 / 16:41
  • 4056
  • 9
Аблязов загробным голосом декларирует «ДВК-2». Монолог обиженного человека

Аблязов загробным голосом декларирует «ДВК-2». Монолог обиженного человека

Последний монолог Аблязова о «продолжении борьбы с режимом» и «ДВК-2», при всём желании, не выглядел как какой-то политический манифест.
openqazaqstan
25 мая 2017 / 13:53
  • 3328
  • 62
Начинаю понимать, почему большинство разводов приходится на время беременности

Начинаю понимать, почему большинство разводов приходится на время беременности

У него нет растяжек на теле, его не тошнит и не рвет, у него не расходятся кости таза, нет тяжести при ходьбе, его по органам никто изнутри не пинает. Как тяжело выдержать 9 месяцев мужику, бедные...
idol_true
26 мая 2017 / 16:52
  • 3451
  • 95