sorgente carta intesta e mailmerge per indirizzi

  • Creatore
    Topic
  • #58914
    Up
    0
    Down
    ::


    Ciao,
    come promesso (ho aperto un nuovo post per non confonderlo con quello di prima), grazie all’aiuto di tutti, sono riuscito a sviluppare una carta intesta che utilizzo per fare un mailing, pescando gli indirizzi esgternamente da un file .csv.

    Posto il codice sorgente, commentato (spero sufficentemente bene ma tuti hanno la possibilità di migliorarlo) al fine di raggruppare i problemi che ho affrontato e risolto per arrivare ad un risultato che è quello indicato in oggetto.

    Ancora grazie a tutti quelli che pazientemente mi hanno aiutato e spero possa io essere di aiuto a qualcuno

    `\documentclass{letteracdp}
    %la classe è questa perchè è una lettera che può andar bene con gli standard italiani
    \usepackage[italian]{babel}
    %importante pacchetto pr le sillabazioni

    \usepackage{graphicx}
    \usepackage{fancyhdr}

    \usepackage{datatool}
    %quest ultimo (datatool) è il pacchetto che serve per caricare il file di dati (.csv) ed %utilizzarlo come si vedrà in seguito

    \DTLloaddb{indirizzi}{/home/kde/Dropbox/xxx/yyy.csv}
    %questa funzione del pachetto datatool, mi permette di accedere la sorgente dati %yyy.csv che contiene gli indirizzi) e assegnare al file un riferimento da utilizzare %all'interno del pacchetto che io ho chiamato indirizzi

    \pagestyle{fancy}

    \fancypagestyle{firstpage}{ % note opening bracket
    \fancyhf{} %<<<<----- clear all fields \fancyhead[L]{\includegraphics[width=.2\columnwidth]{logo}\quad \hrulefill} %qui (icludegraphics) carico, con dimensione di 0.2 (circa un quinto dell'originale) il mio logo ({logo}) %che risiede nella stessa cartella del .tex (altrimenti avrei dovuto specificare il percorso) % poi \hrulefill termina la riga con una riga \fancyfoot[C]{\tiny Via Pippo Pluto e Paperino)\\C.F. 1234567890\\www.pippo.it - presidente@pippo.it
    %qui si definisce il footer della pagina dove metto la via, il C.F. i riferimenti web

    \\Associazione confederata \includegraphics[width=.1\columnwidth]{logo2}}
    %ancora il footer con il logo (logo2) DI UNA ASSOCAZIONE
    } % closing bracket

    \fancyhf{}

    \fancyhead[R]{ \includegraphics[width=.2\columnwidth]{logo}\quad }
    %qui definisco l'header con il logo (\includegraphics{} sempre a 1/5 della dimensione reale
    %QUESTA INTESTAZIONE ANDRÀ SU TUTTE LE PAGINE ESCLUSA LA PRIMA PAGINA

    \fancyfoot[C] {\hrulefill}
    %nel footer metto solo una riga di riempimento
    \renewcommand{\headrulewidth}{0pt}
    \renewcommand{\footrulewidth}{0pt}
    \renewcommand{\familydefault}{\sfdefault}

    %\address{Sign. Topolino,\\
    %via Astuti, 34 \\
    % Topolinia}

    \signature{Pippo Pluto}

    \makelabels

    \begin{document}
    %qui sotto c'è il blocco che carica gli indirizzi dal .csv e li stampa

    \DTLforeach*{indirizzi}{% inizia un ciclo nell'area di memoria a cui è stato assegnato il nome indirizzi che contiene il file .csv, caricato sopra
    \nome=nome,\cognome=cognome,\via=via,\civico=civico,\localita=localita,\cap=cap,\prov=prov,}{% assegna alle variabili che verranno usate sotto, i contenuti del file

    \begin{letter}{\emph{\textbf{Sig.:\nome \space \cognome}\\ \via\space \civico\\ \cap\space \localita,\space (\prov)}} %e qui si inizia a scrivere la lettera con i valori che hanno i campi assegnati sopra

    %\DTLdisplaydb{indirizzi}
    %questo serve, in fase di debug, per vedere se ci sono problemi nel caricare il file .csv. %In pratica se viene tolto il segno % (provate) avrete una pagina con tutto il contenuto
    %del file, diviso per colonne

    \opening{Buongiorno,} %l'educazione è sempre importante 🙂

    %\title{————–consectetur—————–}

    \thispagestyle{firstpage}
    %con questo comando, assegno alla prima pagina l'headere ed il footer standard

    pellentesque augue et mauris ultrices a cpretium eleifend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisque eu ante nec felis feugiat rhoncus. Phasellus eget tortor et lectus tempus vestibulum. Nunc neque lacus, pulvinar at adipiscing ac, egestas sit amet leo. Sed gravida erat sit amet est luctus sed tempus nisl eleifend. Phasellus eget ipsum felis, id ultricies risus. Proin eu nulla sed massa condimentum scelerisque semper nec metus. Nullam mollis ultrices justo, a pellentesque elit imperdiet eu. Pellentesque odio tellus, iaculis et consequat sit amet, consequat in tortor. Proin et libero sapien, a cursus massa.
    Vestibulum turpis lorem, mattis sed volutpat ifend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisqu fend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisque eu ante nec felis feugiat rhoncus. Phasellus eget tortor et lectus tempus vestibulum. Nunc neque lacus, pulvinar at adipiscing ac, egestas sit amet leo. Sed gravida erat sit amet est luctus sed tempus nisl eleifend. Phasellus eget ipsum felis, id ultricies risus. Proin eu nulla sed massa condimentum scelerisque semper nec metus. Nullam mollis ultrices justo, a pellentesque elit imperdiet eu. Pellentesque odio tellus, iaculis et consequat sit amet, consequat in tortor. Proin et libero sapien, a cursus massa.
    Vestibulum turpis lorem, mattis sed volutpat ifend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisqu retium eleifend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisque eu ante nec felis feugiat rhoncus. Phasellus eget tortor et lectus tempus vestibulum. Nunc neque lacus, pulvinar at adipiscing ac, egestas sit amet leo. Sed gravida erat sit amet est luctus sed tempus nisl eleifend. Phasellus eget ipsum felis, id ultricies risus. Proin eu nulla sed massa condimentum scelerisque semper nec metus. Nullam mollis ultrices justo, a pellentesque elit imperdiet eu. Pellentesque odio tellus, iaculis et consequat sit amet, consequat in tortor. Proin et libero sapien, a cursus massa.
    Vestibulum turpis lorem, mattis sed volutpat ifend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisqu fend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisque eu ante nec felis feugiat rhoncus. Phasellus eget tortor et lectus tempus vestibulum. Nunc neque lacus, pulvinar at adipiscing ac, egestas sit amet leo. Sed gravida erat sit amet est luctus sed tempus nisl eleifend. Phasellus eget ipsum felis, id ultricies risus. Proin eu nulla sed massa condimentum scelerisque semper nec metus. Nullam mollis ultrices justo, a pellentesque elit imperdiet eu. Pellentesque odio tellus, iaculis et consequat sit amet, consequat in tortor. Proin et libero sapien, a cursus massa.
    Vestibulum turpis lorem, mattis sed volutpat ifend. In p

    \begin{itemize}
    \item consequat a enim.
    \item us ullamcorper consectetur.
    \item Nam cursus ulla
    \end{itemize}

    iaculis, consequat a enim. Nam cursus ullamcorper con
    congue at turpis. Praesent dui tortor, elementum vitae blandit non, adipiscing eu felis. Integer gravida, leo vitae fringilla egestas, felis libero viverra arcu, volutpat malesuada lacus velit at mauris. Curabitur commodo ipsum vel ipsum dictum lacinia. Nulla facilisi. In pulvinar pulvinar ante, euismod imperdiet turpis sagittis in. Etiam in lacus tellus, et suscipit ante. Morbi vel dui vel neque interdum rhoncus. Fusce tristique neque congue nulla lobortis porta. Duis eu nisi ipsum. Ut varius gravida mi, eu pellentesque risus blandit ut. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris scelerisque lorem elit, ac sodales urna. Phasellus sed metus libero, ac pulvinar dolor. Aenean quis diam Aenean quis diam a neque vestibulum commodo. Aenean quis diam a neque vestibulum commodo. a neque vestibulum commodo.

    \closing{Cordiali saluti}

    \PS
    Qui ci va un eventuale post scriptum.

    \cc{Commissario Basettoni,\\
    via Grassi, 100\\
    Topolinia \\[.5\baselineskip]
    Sign.na Minny\\
    via delle Rose, 77\\
    Topolinia}

    \begin{enclosures}
    \item primo allegato;
    \item secondo allegato.
    \end{enclosures}

    \end{letter}
    }

    \end{document}` 🙂 🙂

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #58915
      Up
      0
      Down
      ::


      Ciao a tutti,
      scusate ma ultimamente ho avuto molto da fare e non sono più riuscito a seguire il forum.
      Complimenti renareto, ottimo lavoro. Ho letto anche i ringraziamenti che mi hai rivolto nell’altro topic… troppo buono :D.
      Ho provato a girare il tuo file togliendo i riferimenti a datatool per vedere come esce l’impaginazione. Ottengo però un errore che non riesco a risolvere. Posto sotto il sorgente che ho usato e di seguito l’errore che ottengo.

      Ciao,
      Daniele

      PS IL comando \makelabels a cosa serve?

      `\documentclass{letteracdp}
      %la classe è questa perchè è una lettera che può andar bene con gli standard italiani
      \usepackage[italian]{babel}
      %importante pacchetto pr le sillabazioni

      \usepackage{graphicx}
      \usepackage{fancyhdr}

      \pagestyle{fancy}

      \fancypagestyle{firstpage}{ % note opening bracket
      \fancyhf{} %<<<<----- clear all fields \fancyhead[L]{\includegraphics[width=.2\columnwidth]{logo}\quad \hrulefill} %qui (icludegraphics) carico, con dimensione di 0.2 (circa un quinto dell'originale) il mio logo ({logo}) %che risiede nella stessa cartella del .tex (altrimenti avrei dovuto specificare il percorso) % poi \hrulefill termina la riga con una riga \fancyfoot[C]{\tiny Via Pippo Pluto e Paperino)\\C.F. 1234567890\\www.pippo.it - presidente@pippo.it
      %qui si definisce il footer della pagina dove metto la via, il C.F. i riferimenti web

      \\Associazione confederata \includegraphics[width=.1\columnwidth]{logo2}}
      %ancora il footer con il logo (logo2) DI UNA ASSOCAZIONE
      } % closing bracket

      \fancyhf{}

      \fancyhead[R]{ \includegraphics[width=.2\columnwidth]{logo}\quad }
      %qui definisco l'header con il logo (\includegraphics{} sempre a 1/5 della dimensione reale
      %QUESTA INTESTAZIONE ANDRÀ SU TUTTE LE PAGINE ESCLUSA LA PRIMA PAGINA

      \fancyfoot[C] {\hrulefill}
      %nel footer metto solo una riga di riempimento
      \renewcommand{\headrulewidth}{0pt}
      \renewcommand{\footrulewidth}{0pt}
      \renewcommand{\familydefault}{\sfdefault}

      %\address{Sign. Topolino,\\
      %via Astuti, 34 \\
      % Topolinia}

      \signature{Pippo Pluto}

      \makelabels

      \begin{document}

      \begin{letter}{\emph{\textbf{Sig.:nome \space cognome}\\ via\space civico\\ cap\space localita,\space (prov)}} %e qui si inizia a scrivere la lettera con i valori che hanno i campi assegnati sopra

      \opening{Buongiorno,} %l'educazione è sempre importante 🙂

      %\title{————–consectetur—————–}

      \thispagestyle{firstpage}
      %con questo comando, assegno alla prima pagina l'headere ed il footer standard

      pellentesque augue et mauris ultrices a cpretium eleifend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisque eu ante nec felis feugiat rhoncus. Phasellus eget tortor et lectus tempus vestibulum. Nunc neque lacus, pulvinar at adipiscing ac, egestas sit amet leo. Sed gravida erat sit amet est luctus sed tempus nisl eleifend. Phasellus eget ipsum felis, id ultricies risus. Proin eu nulla sed massa condimentum scelerisque semper nec metus. Nullam mollis ultrices justo, a pellentesque elit imperdiet eu. Pellentesque odio tellus, iaculis et consequat sit amet, consequat in tortor. Proin et libero sapien, a cursus massa.
      Vestibulum turpis lorem, mattis sed volutpat ifend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisqu fend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisque eu ante nec felis feugiat rhoncus. Phasellus eget tortor et lectus tempus vestibulum. Nunc neque lacus, pulvinar at adipiscing ac, egestas sit amet leo. Sed gravida erat sit amet est luctus sed tempus nisl eleifend. Phasellus eget ipsum felis, id ultricies risus. Proin eu nulla sed massa condimentum scelerisque semper nec metus. Nullam mollis ultrices justo, a pellentesque elit imperdiet eu. Pellentesque odio tellus, iaculis et consequat sit amet, consequat in tortor. Proin et libero sapien, a cursus massa.
      Vestibulum turpis lorem, mattis sed volutpat ifend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisqu retium eleifend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisque eu ante nec felis feugiat rhoncus. Phasellus eget tortor et lectus tempus vestibulum. Nunc neque lacus, pulvinar at adipiscing ac, egestas sit amet leo. Sed gravida erat sit amet est luctus sed tempus nisl eleifend. Phasellus eget ipsum felis, id ultricies risus. Proin eu nulla sed massa condimentum scelerisque semper nec metus. Nullam mollis ultrices justo, a pellentesque elit imperdiet eu. Pellentesque odio tellus, iaculis et consequat sit amet, consequat in tortor. Proin et libero sapien, a cursus massa.
      Vestibulum turpis lorem, mattis sed volutpat ifend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisqu fend. In posuere pulvinar adipiscing. Ut varius arcu nec enim dapibus sed gravida dui dapibus. Quisque eu ante nec felis feugiat rhoncus. Phasellus eget tortor et lectus tempus vestibulum. Nunc neque lacus, pulvinar at adipiscing ac, egestas sit amet leo. Sed gravida erat sit amet est luctus sed tempus nisl eleifend. Phasellus eget ipsum felis, id ultricies risus. Proin eu nulla sed massa condimentum scelerisque semper nec metus. Nullam mollis ultrices justo, a pellentesque elit imperdiet eu. Pellentesque odio tellus, iaculis et consequat sit amet, consequat in tortor. Proin et libero sapien, a cursus massa.
      Vestibulum turpis lorem, mattis sed volutpat ifend. In p

      \begin{itemize}
      \item consequat a enim.
      \item us ullamcorper consectetur.
      \item Nam cursus ulla
      \end{itemize}

      iaculis, consequat a enim. Nam cursus ullamcorper con
      congue at turpis. Praesent dui tortor, elementum vitae blandit non, adipiscing eu felis. Integer gravida, leo vitae fringilla egestas, felis libero viverra arcu, volutpat malesuada lacus velit at mauris. Curabitur commodo ipsum vel ipsum dictum lacinia. Nulla facilisi. In pulvinar pulvinar ante, euismod imperdiet turpis sagittis in. Etiam in lacus tellus, et suscipit ante. Morbi vel dui vel neque interdum rhoncus. Fusce tristique neque congue nulla lobortis porta. Duis eu nisi ipsum. Ut varius gravida mi, eu pellentesque risus blandit ut. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris scelerisque lorem elit, ac sodales urna. Phasellus sed metus libero, ac pulvinar dolor. Aenean quis diam Aenean quis diam a neque vestibulum commodo. Aenean quis diam a neque vestibulum commodo. a neque vestibulum commodo.

      \closing{Cordiali saluti}

      \PS
      Qui ci va un eventuale post scriptum.

      \cc{Commissario Basettoni,\\
      via Grassi, 100\\
      Topolinia \\[.5\baselineskip]
      Sign.na Minny\\
      via delle Rose, 77\\
      Topolinia}

      \begin{enclosures}
      \item primo allegato;
      \item secondo allegato.
      \end{enclosures}

      \end{letter}
      }

      \end{document}`

      L’errore che ottengo è:

      `Runaway argument?
      {\tiny Via Pippo Pluto e Paperino)\\C.F. 1234567890\\www.pippo.it – p\ETC.
      ! Paragraph ended before \f@ncyhf was complete.

      \par
      l.73

      ?

      ! LaTeX Error: There's no line here to end.

      See the LaTeX manual or LaTeX Companion for explanation.
      Type H for immediate help.

      l.73

      ? x`

    • #58916
      Up
      0
      Down
      ::

      Ciao a tutti,
      scusate ma ultimamente ho avuto molto da fare e non sono più riuscito a seguire il forum.
      Complimenti renareto, ottimo lavoro. Ho letto anche i ringraziamenti che mi hai rivolto nell’altro topic… troppo buono :D.
      Ho provato a girare il tuo file togliendo i riferimenti a datatool per vedere come esce l’impaginazione. Ottengo però un errore che non riesco a risolvere. Posto sotto il sorgente che ho usato e di seguito l’errore che ottengo.

      Ciao,
      Daniele

      PS IL comando \makelabels a cosa serve?

      Ciao Daniele,
      per cio che riguarda l’errore non so che dirti. Controlla bene di non avere cancellato qlc riga di troppo.

      il comando \makelabels, serve per stampare le etichette, con i nomi pescati dal file dati (.csv).

      Non ho guardato se, quanto e come è possibile personalizzare l’output. Se lo esegui, l’ultima pagina del pdf, conterrà i nominativi a cui indirizzare le lettere, da stampare su etichetta (non so su quale formato)

      Renato

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top