Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

abelvicente

php word download documento em .DOC ou .DOCX

Recommended Posts

bom dia,,,

comecei a estudar hoje a classe phpword,,,

este codigo é um dos exemplos q esta dentro da propria pasta phpword,,,

ali no final do codigo tentei uma adaptaçao,, para fazer a saída como

DOWNLOAD DO DOCUMENTO EM WORD A EXEMPLO DO QUE É FEITO

NA CLASSE PHPEXCEL,,, poren nao consegui,,, pois esta fazendo download

do documento em em php ou seja do arquvo espelhoteste.php e nao do documento

ESPELHOTESTE.DOC ,,,,

oque tenho q acertar no codigo para fazer o download do documento espelhoteste.doc

<?php
require_once 'PHPWord_0.6.2_Beta/PHPWord.php';
// New Word Document
$PHPWord = new PHPWord();
// New portrait section
$section = $PHPWord->createSection();
// Add text elements
$section->addText('ESPELHO!');
$section->addTextBreak(2);
$section->addText('I am inline styled.', array('name'=>'Verdana', 'color'=>'006699'));
$section->addTextBreak(2);
$PHPWord->addFontStyle('rStyle', array('bold'=>true, 'italic'=>true, 'size'=>16));
$PHPWord->addParagraphStyle('pStyle', array('align'=>'center', 'spaceAfter'=>100));
$section->addText('I am styled by two style definitions.', 'rStyle', 'pStyle');
$section->addText('I have only a paragraph style definition.', null, 'pStyle');
// Save File
//AQUI EU FIZ A MUDANÇA,, POREM NAO SURTIU EFEITO,,,,
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
$objWriter->save('espelhoteste.output');
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimenta substituir a tua chamada do método save() por:

$objWriter->save('php://output'); 

Acabei de tentar,, nao funcionou,,, continua fazendo o download do espelhoteste.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei assim,,,, e nao deu certo.....

// Save File
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
//aqui a mudança q você sugeriu
//$objWriter->save('espelhoteste.docx');
$objWriter->save('php://output');

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO,,,!! ACHEI EM UM TUTORIAL,,, OLHA COMO FICA O FINAL DO CODIGO,,

//ISSO FORÇA O DOWNLOAD

$filename='espelhoteste.docx'; //save our document as this file name
header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document'); //mime type
header('Content-Disposition: attachment;filename="'.$filename.'"'); //tell browser what's the file name
header('Cache-Control: max-age=0'); //no cache
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
$objWriter->save('php://output');

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Alvaro_php
      Pessoal boa noite
      Tenho um sistema em Visual Basic 6 que utiliza um documento do Word que é enviado para as empresas, onde tenho algumas flags que são utilizadas para colocar no nome da empresa e endereço e que são enviadas via email

      Estou conseguindo converter esse documento do WORD em PDF sem problemas
      Private Sub ConverterWordParaPDF()

          On Error GoTo TrataErro
          Dim ObjWord2 As Word.Application
          Dim ObjWordDoc2 As Word.Document
          
          Set ObjWord2 = CreateObject('Word.Application')
          ObjWord2.Visible = False
          ObjWord2.DisplayAlerts = wdAlertsNone

          Set ObjWordDoc2 = ObjWord2.Documents.Open(App.Path + '\Documento.doc', True, True, False, Replace(Replace(Replace(Replace(Rs(1), '/', ''), '-', ''), '.', ''), '_', ''))

          ObjWordDoc2.ExportAsFixedFormat OutputFileName:= _
          App.Path + '\Documento.pdf', ExportFormat:=wdExportFormatPDF, _
          OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
          wdExportAllDocument, from:=1, To:=1, Item:=wdExportDocumentContent, _
          IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
          wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
          True, UseISO19005_1:=False
              
          ObjWord2.Visible = False
          ObjWord2.Quit (False)
          Set ObjWord2 = Nothing
      Exit Sub
      TrataErro:
        msgbox 'Erro ao converter o documento'
      End Sub

      Porém a senha que coloquei no word, não está ficando no arquivo pdf após a conversão, e também não achei nenhuma opção para incluir uma senha nesse novo arquivo

      Não estou usando o Crystal e o documento do word é um documento qualquer que o cliente usa, por isso que não da para utilizar o crystal

      Alguém sabe como que eu poderia fazer essa conversão e colocar a senha nesse novo arquivo ou teria alguma outra forma de converter esse documento para pdf que desse para colocar a senha

      Desde já agradeço a todos
    • Por jjunior100
      Preciso armazenar o total das páginas de um determinado documento em uma variável no delphi. Sei como inserir a informação no modelo MSWord.Selection.Fields.Add( Range:=MSWord.Selection.Range, Type:=wdFieldEmpty, Text:= 'NUMPAGES * Arabic ', PreserveFormatting:=True);
      mas como armazenar essa informação em uma variável tipo integer? Obrigado
    • Por Eduarda Lang Duarte
      O windows diz que não pode encontrar programas da Office 2010, eu ja tentei ir no Regedit e renomear o Office como Office.old e não funcionou, tentei reparar mas sempre aparece que não acha uma dll diferente. Eu já vi várias pessoas com o mesmo problema que eu, e disseram que é vírus, como eu resolvo? É minha primeira vez nesse site, se tiver algo errado, me falem que eu arrumo.
    • Por xstocler
      Olá pessoal.

      Vi em alguns sites utilizando woocommerce que foi adicionado uma nova ordenação para manter os produtos variados no top do site e os produtos fora de estoque no final.
      Ou seja, quando acessa a categoria iphone por exemplo, aparece no top da página os iPhones que tem no estoque.

      Tentei essa opção de adicionar no arquivo functions.php
      add_filter( 'woocommerce_get_catalog_ordering_args', 'wcs_get_catalog_ordering_args' ); function wcs_get_catalog_ordering_args( $args ) { $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) ); if ( 'on_sale' == $orderby_value ) { $args['orderby'] = 'meta_value_num'; $args['order'] = 'DESC'; $args['meta_key'] = '_sale_price'; } return $args; }
      Infelizmente não funcionou.


      Alguém poderia me ajudar?
      Agradeço.
    • Por Phitto0
      Eu tenho esse problema estranho. Quando tento abrir um documento do Microsoft Word, recebo um erro: Este aplicativo não pode ser executado no seu PC.
      Isso começou depois que fiz o upgrade do trial Win 8.1 para o release completo do 8.1 há algumas semanas. Estou usando o Office 2013, e tudo o mais funciona bem, Excel, Project, etc.Eu tentei desinstalar o Office e reinstalar. Nenhuma ajuda.
      Alguma sugestão ? obrigado
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.