HylaFAX The world's
most advanced open source fax server
|
|
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
Re: [hylafax-users] re : PDF attachement on a diet
Hello,
Your email concerning the problems of conversion of a file emitted fax
should see you faxrcvd under /hylafax/bin or indeed there is a
conversion of a ps file into pdf file.
you can use this part for notify
Yves
Le jeu 25/03/2004 à 15:42, Info3W (olivier WHITE) a écrit :
> i had the same problem.
> The problem was a error in the script notify.awk
> (header in mail if i remember good)
>
> Check it (see my previous mail)
>
> _________________________________
> Olivier WHITE
> INFO3W
> BP40 - 67 134 SCHIRMECK CEDEX
>
> Tel : (33) 3 88 47 42 73
> Fax : (33) 3 88 47 42 72
> _________________________________
>
>
> -----Message d'origine-----
> De : hylafax-users-bounce@xxxxxxxxxxx
> [mailto:hylafax-users-bounce@xxxxxxxxxxx]De la part de The Duke Has You
> Envoyé : jeu. 25 mars 2004 15:20
> À : hylafax-users@xxxxxxxxxxx
> Objet : [hylafax-users] PDF attachement on a diet
>
>
> Hello.
>
> My HylaFax users have manifested to need to receive PDF attachements of
> their sent faxes.
>
> I took a notify.awk by Cedric (that I took from this list) and installed it.
> It works fine, but the resulting PDF attachements are 73 bytes. Always...
>
> /var/log/messages give no errors at all. Permissions on the awk file are 774
> root (anything else did not work)
>
> Are there other files that I have to change permissions on? If yes, which?
>
> I am running Hylafax 4.1.6 on a redhat 9 box. Everything installed standard
> and updated.
>
> Best regards.
>
> Duke
>
>
>
> --------------------------------------------
> paste from my notify.awk
> --------------------------------------------
> #! /bin/sh
> # $Id: notify.awk,v 1.1.1.1 1998/10/12 20:47:48 root Exp $
> #
> # HylaFAX Facsimile Software
> #
> # Copyright (c) 1990-1996 Sam Leffler
> # Copyright (c) 1991-1996 Silicon Graphics, Inc.
> #
> # Permission to use, copy, modify, distribute, and sell this software and
> # its documentation for any purpose is hereby granted without fee, provided
> # that (i) the above copyright notices and this permission notice appear in
> # all copies of the software and related documentation, and (ii) the names
> of
> # Sam Leffler and Silicon Graphics may not be used in any advertising or
> # publicity relating to the software without the specific, prior written
> # permission of Sam Leffler and Silicon Graphics.
> #
> # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
> # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
> # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
> #
> # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
> # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
> # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
> # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
> # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
> # OF THIS SOFTWARE.
> #
>
> #
> # Awk support program for notify shell script. This
> # stuff is broken out into a separate file to avoid
> # overflowing the exec arg list on some systems like SCO.
> #
>
> function printItem(fmt, tag, value)
> {
> printf "%14s: " fmt "\n", tag, value;
> }
>
> function printBanner(banner)
> {
> print "";
> print " ---- " banner " ----";
> print "";
> }
>
> function docType(s)
> {
> if (match(s, "\.cover"))
> return "PostScript cover page";
> else if (match(s, "\.ps"))
> return "PostScript";
> else if (match(s, "\.tif"))
> return "TIFF";
> else if (match(s, "\.pcl"))
> return "PCL";
> else
> return "Unknown document type";
> }
>
> #
> # Construct a return-to-sender message.
> #
> function returnToSender()
> {
> # printBanner("Unsent job status");
> printBanner("Etat du fax non émis");
> printItem("%s", "Destination", number);
> printItem("%s", "JobID", jobid);
> printItem("%s", "GroupID", groupid);
> # printItem("%s", "Sender", sender);
> printItem("%s", "Emetteur", sender);
> # printItem("%s", "Mailaddr", mailaddr);
> printItem("%s", "Addr. mail", mailaddr);
> if (commid != "")
> printItem("%s", "CommID", commid);
> if (modem != "any")
> printItem("%s", "Modem", modem);
> printItem("%s", "Soumis depuis", client);
> if (jobType == "facsimile") {
> printItem("%u (mm)", "Largeur page", pagewidth);
> printItem("%.0f (mm)", "Hauteur page", pagelength);
> printItem("%.0f (lpi)", "Résolution", resolution);
> }
> printItem("%s", "Status", status == "" ? " (nothing available)" :
> status);
> printItem("%u (échanges avec l'équipement distant)", "Dialogues",
> tottries);
> printItem("%u (numérotations consécutives vers la destination)",
> "Numérotations", ndials);
> # printItem("%u (total phone calls placed)", "Calls", totdials);
> printItem("%u (total appels tentés)", "Appels", totdials);
> if (jobType == "facsimile") {
> # printItem("%u (pages transmitted)", "Pages", npages);
> printItem("%u (pages transmises)", "Pages", npages);
> printItem("%u (total pages à transmettre)", "TotPages", totpages);
> printItem("%u (tentatives envoi page courante)", "Tentatives", ntries);
> # printItem("%u (repertoire prochaine page)", "Dirnum", dirnum);
> # if (nfiles > 0) {
> # printBanner("Documents soumis à transmission");
> # print "Les documents suivants ont été soumis à la transmission et
> sont";
> # print "disponibles sur le serveur jusqu à ce qu ils soient
> automatiquement";
> # print "supprimés lorsque ce fax est purgé (" doneop "d). Les
> documents peuvent aussi être supprimés manuellement";
> # print "en utilisant la commande faxrm; consulter faxrm(1) pour
> information.";
> # print ""
> # printf "%-20s %8s %s\n", "Fichier", "Taille", "Type";
> # for (i = 0; i < nfiles; i++) {
> # "wc -c " files[i] | getline;
> # printf "%-20s %8d %s\n", files[i], $1, docType(files[i]);
> # close("wc -c " files[i]);
> # }
> # }
> } else if (jobType == "pager") {
> if (npins != 0) {
> printBanner("Pages en échec de transmission");
> for (i = 0; i < npins; i++)
> printf "%15s\n", "PIN " pins[i];
> }
> if (nfiles != 0) {
> printBanner("Message text");
> while ((getline <files[0]) > 0)
> print $0;
> close(files[0]);
> }
> }
> }
>
> function returnTranscript()
> {
> printBanner("Rapport de session ci-dessous");
> comFile = "log/c" commid;
> if ((getline <comFile) > 0) {
> do {
> if (index($0, "-- data") == 0)
> print $0
> } while ((getline <comFile) > 0);
> close(comFile);
> } else {
> printf " Aucun rapport disponible";
> if (commid != "")
> printf "(CommID c" commid ")";
> print ".";
> }
> }
>
> function printStatus(s)
> {
> if (s == "")
> print "<no reason recorded>";
> else
> print s
> }
>
> function putHeaders(subject)
> {
> print "To: " mailaddr;
> # print "cc: <csanson@xxxxxx>";
> print "Subject: " subject;
> print "MIME-Version: 1.0";
> print "Content-Type: multipart/mixed;";
> print " boundary=\"----=_NextPart_000_0012_01BF3CD4.528144C0\"";
> print "";
> print "This is a multi-part message in MIME format.";
> print "";
> print "------=_NextPart_000_0012_01BF3CD4.528144C0";
> print "Content-Type: text/plain;";
> print " charset=\"iso-8859-1\"";
> print "Content-Transfer-Encoding: 7bit";
> print "";
> # printf "Your " jobType " job to " number;
> printf "Votre fax vers " number;
> }
>
> BEGIN { nfiles = 0;
> npins = 0;
> pagewidth = 0;
> pagelength = 0;
> resolution = 0;
> jobType = "facsimile";
> signalrate = "unknown";
> dataformat = "unknown";
> doneop = "default";
> pagernum = "unknown";
> commid = "";
> }
> /^jobid/ { jobid = $2; }
> /^groupid/ { groupid = $2; }
> /^state/ { state = $2+0; }
> /^doneop/ { doneop = $2; }
> /^number/ { number = $2; }
> /^external/ { number = $2; } # override unprocessed number
> /^sender/ { sender = $2; }
> /^mailaddr/ { mailaddr = $2; }
> /^jobtag/ { jobtag = $2; }
> /^jobtype/ { jobType = $2; }
> /^status/ { status = $0; sub("status:", "", status);
> if (status ~ /\\$/) {
> sub("\\\\$", "\n", status);
> while (getline > 0) {
> status = status $0;
> sub("\\\\$", "\n", status);
> if ($0 !~ /\\$/)
> break;
> }
> }
> }
> /^resolution/ { resolution = $2; }
> /^npages/ { npages = $2; }
> /^totpages/ { totpages = $2; }
> /^dirnum/ { dirnum = $2; }
> /^commid/ { commid = $2; }
> /^ntries/ { ntries = $2; }
> /^ndials/ { ndials = $2; }
> /^pagewidth/ { pagewidth = $2; }
> /^pagelength/ { pagelength = $2; }
> /^signalrate/ { signalrate = $2; }
> /^dataformat/ { dataformat = $2; }
> /^modem/ { modem = $2; }
> /^totdials/ { totdials = $2; }
> /^tottries/ { tottries = $2; }
> /^client/ { client = $2; }
> /^[!]*post/ { files[nfiles++] = $4; }
> /^[!]*tiff/ { files[nfiles++] = $4; }
> /^[!]*pcl/ { files[nfiles++] = $4; }
> /^page:/ { pins[npins++] = $4; }
> /^[!]page:/ { pagernum = $4; }
> /^data:/ { files[nfiles++] = $4; }
> /^poll/ { poll = " -p"; }
> END {
> if (jobtag == "")
> jobtag = jobType " job " jobid;;
> if (doneop == "default")
> doneop = "remove";
> if (jobType == "pager")
> number = pagernum;
> if (why == "done") {
> # putHeaders(jobtag " to " number " completed");
> putHeaders("Fax " jobtag " vers " number " envoyé");
> #modif du 6/12/99 pour simplifier sujet ! (voir BC/BLX)
> # putHeaders( jobtag " envoyé");
> # print " was completed successfully.";
> print " a été envoyé correctement.";
> print "";
> if (jobType == "facsimile") {
> printItem("%u", "Pages", npages);
> if (resolution == 196)
> printItem("%s", "Qualitié", "Fine");
> else
> printItem("%s", "Qualité", "Normale");
> printItem("%u (mm)", "Largeur Page", pagewidth);
> printItem("%.0f (mm)", "Hauteur Page", pagelength);
> printItem("%s", "Vitesse", signalrate);
> printItem("%s", "Format données", dataformat);
> }
> if (tottries != 1)
> printItem("%s (échanges avec équipement distant)", "Dialogues",
> tottries);
> if (totdials != 1)
> # printItem("%s (total phone calls placed)", "Calls", totdials);
> printItem("%s (total appels tentés)", "Appels", totdials);
> if (modem != "any")
> printItem("%s", "Modem", modem);
> printItem("%s", "Soumis depuis", client);
> printItem("%s", "JobID", jobid);
> printItem("%s", "GroupID", groupid);
> printItem("%s", "CommID", "c" commid);
> printf "\nTemps total de traitement " jobTime ".\n";
> if (status != "") {
> print " Informations complémentaires:\n " status;
> returnTranscript();
> }
> print "------=_NextPart_000_0012_01BF3CD4.528144C0";
> print "Content-Type: application/pdf;";
> print " name=\"" jobtag ".pdf\"";
> print "Content-Transfer-Encoding: base64";
> print "Content-Disposition: inline;";
> print " filename=\"" jobtag ".pdf\"";
> print "";
> system("/usr/bin/ps2pdf " files[0] " /tmp/fax.pdf 1>/dev/null
> 2>/dev/null");
> system("/usr/bin/mimencode /tmp/fax.pdf");
> print "";
> print "------=_NextPart_000_0012_01BF3CD4.528144C0--";
> system("/bin/rm /tmp/fax.pdf");
>
> } else if (why == "failed") {
> putHeaders("Fax " jobtag " vers " number " échoué");
> # modif du 6/12/99 pour simplifier sujet (voir BC/BLX)
> # putHeaders( jobtag " échoué");
> printf " a échoué. Raison de l'échec:\n ";
> printStatus(status);
> # returnTranscript();
> returnToSender();
>
> print "------=_NextPart_000_0012_01BF3CD4.528144C0";
> print "Content-Type: application/pdf;";
> print " name=\"" jobtag ".pdf\"";
> print "Content-Transfer-Encoding: base64";
> print "Content-Disposition: inline;";
> print " filename=\"" jobtag ".pdf\"";
> print "";
> system("/usr/bin/ps2pdf " files[0] " /tmp/fax.pdf 1>/dev/null
> 2>/dev/null");
>
> system("/usr/bin/mimencode /tmp/fax.pdf");
> print "";
> print "------=_NextPart_000_0012_01BF3CD4.528144C0--";
> system("/bin/rm /tmp/fax.pdf");
>
> } else if (why == "rejected") {
> putHeaders( jobtag " rejeté");
> printf " a été rejeté pour la raison suivante:\n ";
> printStatus(status);
> returnToSender();
> print "------=_NextPart_000_0012_01BF3CD4.528144C0";
> print "Content-Type: application/pdf;";
> print " name=\"" jobtag ".pdf\"";
> print "Content-Transfer-Encoding: base64";
> print "Content-Disposition: inline;";
> print " filename=\"" jobtag ".pdf\"";
> print "";
> system("/usr/bin/ps2pdf " files[0] " /tmp/fax.pdf 1>/dev/null
> 2>/dev/null");
>
> system("/usr/bin/mimencode /tmp/fax.pdf");
> print "";
> print "------=_NextPart_000_0012_01BF3CD4.528144C0--";
> system("/bin/rm /tmp/fax.pdf");
>
> } else if (why == "blocked") {
> putHeaders( jbtag " bloqué");
> printf " est différé à l envoi pour la raison suivante:\n ";
> printStatus(status);
> print "";
> print "Ce fax va être traîté dès que possible."
> print "------=_NextPart_000_0012_01BF3CD4.528144C0";
> print "Content-Type: application/pdf;";
> print " name=\"" jobtag ".pdf\"";
> print "Content-Transfer-Encoding: base64";
> print "Content-Disposition: inline;";
> print " filename=\"" jobtag ".pdf\"";
> print "";
> system("/usr/bin/ps2pdf " files[0] " /tmp/fax.pdf 1>/dev/null
> 2>/dev/null");
>
> system("/usr/bin/mimencode /tmp/fax.pdf");
> print "";
> print "------=_NextPart_000_0012_01BF3CD4.528144C0--";
> system("/bin/rm /tmp/fax.pdf");
>
> } else if (why == "requeued") {
> putHeaders( jobtag " remis en file d attente");
> printf " n'a pas été envoyé pour la raison suivante:\n ";
> printStatus(status);
> print "";
> print "Nouvelle tentative à " nextTry "."
> returnTranscript();
> } else if (why == "removed" || why == "killed") {
> putHeaders( jobtag " retiré de la file d attente");
> print " a été retiré de la file d attente.";
> if (why == "killed")
> returnToSender();
> } else if (why == "timedout") {
> putHeaders( jobtag " échoué");
> print " n a pas pas pu être envoyé avant l échéance prévue.(timeout)";
> returnToSender();
> print "------=_NextPart_000_0012_01BF3CD4.528144C0";
> print "Content-Type: application/pdf;";
> print " name=\"" jobtag ".pdf\"";
> print "Content-Transfer-Encoding: base64";
> print "Content-Disposition: inline;";
> print " filename=\"" jobtag ".pdf\"";
> print "";
> system("/usr/bin/ps2pdf " files[0] " /tmp/fax.pdf 1>/dev/null
> 2>/dev/null");
>
> system("/usr/bin/mimencode /tmp/fax.pdf");
> print "";
> print "------=_NextPart_000_0012_01BF3CD4.528144C0--";
> system("/bin/rm /tmp/fax.pdf");
>
> } else if (why == "format_failed") {
> putHeaders( jobtag " échoué");
> print " n a pas été envoyé car la conversion du document"
> print "en fax a échoué. Le diagnostic du convertisseur est:\n";
> print status "\n";
> printf "Vérifiez la validité de vos documents PostScript (police non
> standard) %s.\n",
> "et/ou syntaxe incorrecte";
> returnToSender();
> print "------=_NextPart_000_0012_01BF3CD4.528144C0";
> print "Content-Type: application/pdf;";
> print " name=\"" jobtag ".pdf\"";
> print "Content-Transfer-Encoding: base64";
> print "Content-Disposition: inline;";
> print " filename=\"" jobtag ".pdf\"";
> print "";
> system("/usr/bin/ps2pdf " files[0] " /tmp/fax.pdf 1>/dev/null
> 2>/dev/null");
>
> system("/usr/bin/mimencode /tmp/fax.pdf");
> print "";
> print "------=_NextPart_000_0012_01BF3CD4.528144C0--";
> system("/bin/rm /tmp/fax.pdf");
>
> } else if (why == "no_formatter") {
> putHeaders("Fax " jobtag " vers " number " échoué");
> print " n a pas pu être envoyé car";
> print "le scrpit de conversion n a pas été trouvé.";
> returnToSender();
> } else if (match(why, "poll_*")) {
> putHeaders("Note à propos de " jobtag);
> printf ", a polling request,\ncould not be completed because ";
> if (why == "poll_rejected")
> print "the remote side rejected your request.";
> else if (why == "poll_no_document")
> print "no document was available for retrieval.";
> else if (why == "poll_failed")
> print "an unspecified problem occurred.";
> print "";
> printf "Processing time was %s.\n", jobTime;
> returnTranscript();
> } else {
> putHeaders("Notice about " jobtag);
> print " had something happen to it."
> print "Unfortunately, the notification script was invoked",
> "with an unknown reason"
> print "so the rest of this message is for debugging:\n";
> print "why: " why;
> print "jobTime: " jobTime;
> print "nextTry: " nextTry;
> print "";
> print "This should not happen, please report it to your administrator.";
> returnTranscript();
> returnToSender();
> }
> }
>
> _________________________________________________________________
> MSN Messenger : discutez en direct avec vos amis !
> http://messenger.fr.msn.ca/
>
>
> ____________________ HylaFAX(tm) Users Mailing List _______________________
> To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi
> On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null
> *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx*
>
>
> ____________________ HylaFAX(tm) Users Mailing List _______________________
> To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi
> On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null
> *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx*
>
>
____________________ HylaFAX(tm) Users Mailing List _______________________
To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi
On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null
*To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx*