Banner principal do MailMerge

Microsoft Word mala direta é um recurso notável que permite aos usuários transformar cartas em documentos que são lidos como correspondência individual. Comparado ao processo de preparar cartas individuais para transmitir um conjunto de informações para muitas pessoas, a mala direta economiza tempo e esforço, produzindo correspondências em massa completas com etiquetas ou envelopes, e você pode enviar uma mensagem unificada com detalhes personalizados. Outros benefícios da mala direta incluem

  • Depois que a mesclagem for configurada, poderemos produzir rapidamente milhares de cartas.
  • É muito mais fácil revisar apenas uma carta do que milhares de cartas individuais.
  • Cartas podem ser enviadas para pessoas que atendem a critérios específicos.
  • Salve e reutilize uma carta padrão.
  • Personalize cartas.
  • A mesma fonte de dados pode ser reutilizada, reduzindo o risco de erros.

Tendo em vista a importância desse recurso, Aspose.Words Cloud suporta perfeitamente o recurso Mail Merge. Ele também permite que você personalize a carta de acordo com o nome do destinatário. A fonte de dados pode ser uma espécie de lista, planilha ou banco de dados, está relacionada ao documento. Nesta postagem do blog, discutiremos os pontos para preencher o modelo mail merge ou mustache com dados usando a linguagem PHP.

MailMerge usando modelo

Para usar o recurso MailMerge, precisamos usar o documento de modelo do Word e um arquivo de dados. Esses são dois argumentos de entrada para ExecuteMailMergeOnline

Comando cRUL

curl -X PUT "https://api.aspose.cloud/v4.0/words/MailMerge?withRegions=false&documentFileName=template" -H  "accept: application/octet-stream" -H  "Authorization: Bearer <JWT Token>" -H  "Content-Type: multipart/form-data" -H  "x-aspose-client: Containerize.Swagger" -d {"Template":{},"Data":{}}

URL da solicitação

https://api.aspose.cloud/v4.0/words/MailMerge?withRegions=false&documentFileName=template

PHP

<?php 

    include(dirname(__DIR__).'\CommonUtils.php');
    use Aspose\Words\WordsApi;
    use Aspose\Words\Model\Requests;

    try {
        // Criar instância WordsApi
        $wordsApi = new WordsApi(CommonUtils::$AppSid, CommonUtils::$AppKey, CommonUtils::$ApiBaseUrl);

        $fileName = "SampleMailMergeTemplate.docx";
        $fileData = realpath(__DIR__ . '/../..').'\resources\\' . $fileName;
        $destName = "Out_TestMailMergeWithImages.docx";
        $data = realpath(__DIR__ . '/../..').'\resources\SampleMailMergeTemplateData.txt';

        // Carregar documento no Cloud Storage
        $wordsApi->uploadFile(new Requests\UploadFileRequest(realpath(__DIR__ . '/../..').'\resources\\' . $fileName, "", CommonUtils::$MyStorage));

        // Criar solicitação e executar método api
        $request = new Requests\ExecuteMailMergeOnlineRequest($fileData, $data, null, null, null);
        $result = $wordsApi->executeMailMergeOnline($request);
        print_r($result);
    
    } catch (Exception $e) {
        echo "Something went wrong: ", $e->getMessage(), "\n";
    }
?>
Arquivo resultante do MailMerge

Fig 1:- Prévia da operação MailMerge.

Inserir HTML durante a mala direta

Além do conteúdo simples, a API também fornece os recursos para inserir HTML dentro de campos de mala direta. A API ExecuteMailMerge permite que você insira HTML dentro de campos de mala direta. Conforme o exemplo abaixo, vamos inserir uma tabela e imagem HTML dentro do arquivo de modelo e salvar o arquivo resultante no armazenamento em nuvem.

comando cURL

curl -X PUT "https://api.aspose.cloud/v4.0/words/template.doc/MailMerge?withRegions=false&mailMergeDataFile=TestExecuteMailMergeData%20%281%29.txt&useWholeParagraphAsRegion=true" -H  "accept: application/json" -H  "Authorization: Bearer <JWT Token>" -H  "Content-Type: multipart/form-data" -H  "x-aspose-client: Containerize.Swagger" -d {"data":""}

URL da solicitação

https://api.aspose.cloud/v4.0/words/template.doc/MailMerge?withRegions=false&mailMergeDataFile=TestExecuteMailMergeData%20%281%29.txt&useWholeParagraphAsRegion=true

PHP

<?php 

    include(dirname(__DIR__).'\CommonUtils.php');
    use Aspose\Words\WordsApi;
    use Aspose\Words\Model\Requests;

    try {
        // Criar instância WordsApi
        $wordsApi = new WordsApi(CommonUtils::$AppSid, CommonUtils::$AppKey, CommonUtils::$ApiBaseUrl);

        $fileName = "template.doc";
        $destName = "Out_PostDocumentExecuteMailMergeWithHTMLData.docx";
        $data = file_get_contents(realpath(__DIR__ . '/../..').'\resources\TestPostDocumentExecuteMailMerge.txt');

        // Carregar documento para o Cloud Storage
        $wordsApi->uploadFile(new Requests\UploadFileRequest(realpath(__DIR__ . '/../..').'\resources\\' . $fileName, "", CommonUtils::$MyStorage));

        // Criar solicitação e executar método api
        $request = new Requests\ExecuteMailMergeRequest($fileName, $data, null, CommonUtils::$MyStorage, null, null, null, null, null, false, $destName);
        $result = $wordsApi->executeMailMerge($request);
        print_r($result);
    
    } catch (Exception $e) {
        echo "Something went wrong: ", $e->getMessage(), "\n";
    }
?>
Visualização da mala direta após inserção de HTML

Fig 2:- Mala direta após inserção de HTML.

Conclusão

Neste artigo, discutimos os detalhes sobre como executar mala direta usando o PHP Cloud SDK. Exploramos exclusivamente detalhes pertinentes à execução de mala direta usando um modelo e como inserir HTML durante a mala direta. Observe que o Aspose.Words Cloud SDK para PHP é desenvolvido sob licença MIT e seu código-fonte completo está disponível para download no GitHub. Caso você encontre algum problema ao usar o SDK, sinta-se à vontade para entrar em contato conosco pelo fórum de suporte ao produto gratuito.

Artigos relacionados

Recomendamos também que você visite os seguintes links para saber mais sobre: