Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.02.2013, 17:31
Новичок на форуме
Отправить личное сообщение для Vatanga Посмотреть профиль Найти все сообщения от Vatanga
 
Регистрация: 22.02.2013
Сообщений: 4

Какую технологию взять
Не подскажите какую связку взять для реализации функции: В форму на сайте Пользователь вбивает данные, нажимает кнопку печать и ему печатается документ. (форм пока нет ваши идеи на чем, шаблоны документов в Word'овском формате).

1. Какую связку технологий взять
2. Как настроить формы для печати, когда все размеры, на листе напечатанном, критичны к макету.
3. Данные запоминать не надо. Просто пользователь вбивает в удобные формы а ему из них формируются документы.

Мне нужен вектор куда "Копать".
Ответить с цитированием
  #2 (permalink)  
Старый 22.02.2013, 19:36
Новичок на форуме
Отправить личное сообщение для Vatanga Посмотреть профиль Найти все сообщения от Vatanga
 
Регистрация: 22.02.2013
Сообщений: 4

а нету чего-нибудь на JavaScript подобного
Ответить с цитированием
  #3 (permalink)  
Старый 22.02.2013, 20:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Парсеров word-документов на javascript - не встречал)
Ответить с цитированием
  #4 (permalink)  
Старый 22.02.2013, 20:06
Новичок на форуме
Отправить личное сообщение для Vatanga Посмотреть профиль Найти все сообщения от Vatanga
 
Регистрация: 22.02.2013
Сообщений: 4

наоборот из javaScript в документ годен для печати на принтере в виде официальных документов. (Необязательно Word)
Ответить с цитированием
  #5 (permalink)  
Старый 22.02.2013, 21:57
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Нет проблем, но скрипт конечно написать придётся, готовые вряд ли есть.

Тебе понадобится шаблонизатор, jquery, и немного терпения
Образец кода 1

<!DOCTYPE HTML>
<html>
  <head>
      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
 </head>

  <body>
    <table width="100%">
      <tr>
        <td width="30%"> 
          <form >
            <input value="Текст 1 " id="a"/></br>
            <input value="текст 2 " id="b"/></br>
            <button id="print"> печать </button>
          </form>
        </td>
        <td width="70%">    
          <iframe id="result" style="width:100%"></iframe>
        </td>
      </tr>    
    </table>

    <script>
      $(function(){
        $("#print").click(function(){
          $('#result').contents().find('body').load('');

          //вместо это строчки нужен шаблонизатор
          $('#result').contents().find('body').html( $('#a').val()+$('#b').val() );

          window.frames['result'].focus();
          window.frames['result'].print();
          
          return false;
        })
      })
    </script>

  </body>
</html>



впринципе можно и без шаблонизатора обойтись, потребуется код вида
образец кода
var template='http://learn.javascript.ru/play';

$('#result').contents().find('body').load(template, function(){            

    //заполняем определённые id в шаблоне (шаблон это html как несложно догадаться), данные берём из формы.            
    $('#result').contents().find('el').html( $('#b').val() );
            
    window.frames['result'].focus();
    window.frames['result'].print();
});
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 22.02.2013 в 22:14.
Ответить с цитированием
  #6 (permalink)  
Старый 22.02.2013, 22:35
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

чуточку дороботанный пример,
добавлен примитивный шаблонизатор.
поле tmpl в шаблоне указывает на id формы, откуда будет взято значение.

песочница

код/пример
<!DOCTYPE HTML>
<html>
  <head>
      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
 </head>

  <body>
    <table width="100%">
      <tr>
        <td width="30%"> 
          <form id="templator">
            <input value="Текст 1 " id="a"/></br>
            <input value="текст 2 " id="b"/></br>
            <button id="print"> печать </button>
          </form>
        </td>
        <td width="70%">    
          <iframe id="result" style="width:100%">           
           </iframe>
          
        </td>
      </tr>    
    </table>

    <script>
      $(function(){

        // образец шаблона      
        var tmpl=' поле1=<b tmpl="a"></b></br>'
                  +' поле2=<b tmpl="b"></b></br>';
        
        $("#print").click(function(){
          
          var el=$('#result').contents().find('body');
          
          //вставим шаблон в фрейм
          el.html(tmpl);
          
          //шаблон можно загрузить и с сервера
          //$('#result').contents().find('body').load('')
          
          
          //шаблонизатор
          $('#templator input').each(function(){            
              var i=el.find( "[tmpl^='" + $(this).attr('id') + "']");
              i.html( $(this).val() )                              
          })
                    
          // печать
          window.frames['result'].focus();
          window.frames['result'].print();
          
          // отменим действие по умолчанию
          return false;
        })
      })
    </script>

  </body>
</html>
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 22.02.2013 в 22:53.
Ответить с цитированием
  #7 (permalink)  
Старый 23.02.2013, 16:35
Новичок на форуме
Отправить личное сообщение для Vatanga Посмотреть профиль Найти все сообщения от Vatanga
 
Регистрация: 22.02.2013
Сообщений: 4

Да то что надо, но встречный вопрос. Мне необходимо вставлять поля в разные документы, соответственно у меня будет много шаблонов. Как лучше оптимизировать код. Загружать отдельными html ( var template='http://learn.javascript.ru/play'; ) документами и в них вставлять или написать много "шаблоных переменных tmpl" и уже ими оперировать?
Поставить код загрузки файлов HTML непосредственно при нажатии кнопки данного типа?

Заранее спасибо пошел писать формы потом перейду к шаблонам ))

Последний раз редактировалось Vatanga, 23.02.2013 в 16:45.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с помощью javascript взять данные из одного файла html и закинуть в другой? rusik Общие вопросы Javascript 10 08.08.2016 12:11
Самый сложный вопрос - где взять "австралию" Solovei95 Общие вопросы Javascript 1 24.07.2011 06:08
Iframe взять только определенный блок nemoon Общие вопросы Javascript 0 10.06.2011 23:20
Взять ширину img в google chrome miller Opera, Safari и др. 12 25.09.2009 00:39
Немогу взять id как переменную Влад Общие вопросы Javascript 2 08.07.2009 19:38