Создание Document Word and Open Document

Discussion in 'PHP' started by Adio, 19 Jul 2009.

  1. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Не могли бы подсказать каким способом реализованно вот это ?

    https://europass.cedefop.europa.eu/instruments/cv//step8.do

    Где PDF более разобрался как делать.. с помощью конечно.

    А вот как сделать word и Open documents ?
     
  2. Forcer

    Forcer Elder - Старейшина

    Joined:
    12 Apr 2007
    Messages:
    321
    Likes Received:
    98
    Reputations:
    12
    нужно использовать соответствующие библиотеки ))

    язык?
     
  3. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Язык PHP мне нужно вводить данный в форму и потом сохранять как Word .doc вот типа того как в библиотеки FPDF для генерации PDF файлов. только я хочу сделать мултиформатность.
     
  4. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Вот нашол кое что


    <?php
    $word=new COM("Word.Application") or die("Cannot start word for you");
    print "Loaded word version ($word->Version)
    ";
    $word->visible =0 ;
    $word->Documents->Add();
    $word->Selection->Typetext("Writing This Message ....");
    $word->Documents[1]->SaveAs("c://just_a_test2.doc");
    $word->Quit();
    print "Done ";
    ?>

    Этот код сохраняет все автоматос т.е не выводит окошко Сохранить как а втупую сохраняет на компьютер пользователя в указанную директорию. А как сделать что бы вылетало окошко и что бы юзер сам его сохранял куда надо ?
     
  5. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Так сохраняй одычный текстовый файл как *.doc и будет тебе формат word...
     
  6. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Второй вариант


    <?php
    header("Content-type: application/msword");
    header("Content-Disposition: attachment;Filename=CV.doc");
    echo "
    HELLO WORLD
    ";
    ?>

    Самый простой но при открытии файла мне пишет что Шрифт не опознан и хотите ли вы установить новый ?.. я кликаю нет документ открываеться нормально. Но как то можно избежать этого ? что бы тот шрифр распзнавал как то и не спрашивал про установку нового ?
     
  7. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Это как понять Сохраняй как обычный ?

    Мне нужен файл который принимает данные с формы и сохраняет ее в Word. Но как сделать что бы было Сохранить как ? Т.е как передать в файл PHP данные из формы я знаю но не знаб как сделать что бы вылетало окошко сохранить как ?
     
  8. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Так и понимать, представь, что данные сохраняешь в текстовый файл, только вместо .txt ставишь .doc

    Думаю тут PHP не поможет, нужно яваскриптом...
     
  9. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Да ладно ? .... буду искать что то подходящие...
     
  10. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    <?php
    header("Content-type: application/msword");
    header("Content-Disposition: attachment;Filename=CV.doc");
    echo "
    HELLO WORLD
    ";
    ?>


    Говорит что нужно переконвентировать...
     
  11. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Ну вот мысл пришла - сохраняешь файл на серваке, и сразу редирект на него делаешь... Выскакивает окно с просьбой сохранить..
     
  12. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    А у меня нормально открывает..)
     
  13. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Так не пойдет. ибо файл надо генерировать а не записывать а потом открывать. А если будут 10 человек работать с 1 файлом шо то будет ? ))
     
  14. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Всем спасибо нашол решение RTF Class
     
  15. FaLL3N

    FaLL3N New Member

    Joined:
    22 Apr 2007
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    PHP:
    $html "<b>Hello, World!</b>";  $docname "document.doc";    $doc = <<<EOH  <html xmlns:v="urn:schemas-microsoft-com:vml"  xmlns:o="urn:schemas-microsoft-com:office:office"  xmlns:w="urn:schemas-microsoft-com:office:word"  xmlns="http://www.w3.org/TR/REC-html40">    <head>  <meta http-equiv=Content-Type content="text/html; charset=windows-1251">  <meta name=ProgId content=Word.Document>  <meta name=Generator content="Microsoft Word 9">  <meta name=Originator content="Microsoft Word 9">  <![if !mso]>  <style>  v\:* {behavior:url(#default#VML);}  o\:* {behavior:url(#default#VML);}  w\:* {behavior:url(#default#VML);}  .shape {behavior:url(#default#VML);}  </style>  <![endif]–>  <title>[Ваш заголовок]</title>  <!–[if gte mso 9]><xml>  <w:WordDocument>  <w:View>Print</w:View>  <w:DoNotHyphenateCaps/>  <w:PunctuationKerning/>  <w:DrawingGridHorizontalSpacing>9.35 pt</w:DrawingGridHorizontalSpacing>  <w:DrawingGridVerticalSpacing>9.35 pt</w:DrawingGridVerticalSpacing>  </w:WordDocument>  </xml><![endif]–>  <style>  <!–  /* Font Definitions */  @font-face  {font-family:Verdana;  panose-1:2 11 6 4 3 5 4 4 2 4;  mso-font-charset:0;  mso-generic-font-family:swiss;  mso-font-pitch:variable;  mso-font-signature:536871559 0 0 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin:0in;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:7.5pt;  mso-bidi-font-size:8.0pt;  font-family:"Verdana";  mso-fareast-font-family:"Verdana";}  p.small  {mso-style-parent:"";  margin:0in;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:1.0pt;  mso-bidi-font-size:1.0pt;  font-family:"Verdana";  mso-fareast-font-family:"Verdana";}  @page Section1  {size:8.5in 11.0in;  margin:1.0in 1.25in 1.0in 1.25in;  mso-header-margin:.5in;  mso-footer-margin:.5in;  mso-paper-source:0;}  div.Section1  {page:Section1;}  –>  </style>  <!–[if gte mso 9]><xml>  <o:shapedefaults v:ext="edit" spidmax="1032">  <o:colormenu v:ext="edit" strokecolor="none"/>  </o:shapedefaults></xml><![endif]–><!–[if gte mso 9]><xml>  <o:shapelayout v:ext="edit">  <o:idmap v:ext="edit" data="1"/>  </o:shapelayout></xml><![endif]–>  </head>  <body>  EOH;    $doc .= $html;    $doc .= "</body></html>";    @header("Cache-Control: ");// оставьте пустым, чтобы избежать ошибок в IE  @header("Pragma: ");// оставьте пустым, чтобы избежать ошибок в IE  @header("Content-Type: application/octet-stream");  @header("Content-Disposition: attachment; filename=\"$docname\"");  @header("Content-Length: " . strlen( $doc ) );  echo $doc;