como enviar archivos PDF a correos
Publicado por zendi (117 intervenciones) el 04/04/2018 00:11:34
Que tal a todos, he creado un codigo para un reporte con PDF, el reporte imprime varios recibos para un control de condominio los cuales deben ser enviados a cada propietario. Pero no hallo la forma de como crear un proceso para que el proceso envie el recibo o factura respectiva a cada propietario respectivo y no todo el reporte a todos los propietarios. La idea seria discriminar por cada propietario.
Envio el codigo:
Envio el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<?php
$conexion = pg_connect("host=localhost port=5432 dbname=administra user=postgres password=1234");
require('WriteTag.php');
$recibos = "SELECT * FROM vrecibo3";
// $totEdifi = "SELECT vrecibo3.monto FROM vrecibo3";
$reserva = "SELECT SUM(vreserva.monto) AS totalreserva FROM vreserva";
class PDF extends PDF_WriteTag
{
//Cabecera de página
function Header()
{
$this->SetFont('Arial','B',8);
$this->Cell(90, 5, 'Residencias XXXXX', 0, 0, 'L');
$this->Ln(6);
$this->Cell(95, 5, 'Fecha: '.date('d/m/Y'), 0, 1, 'L');
//150 = Indica el margen derecho
// ('./imagenes/logo.JPG',180=Margen derecho,5= Margen Izquierdo,30,25);
// $this->Image('./img/edificio.JPG',180,5,30,25);
//Select Arial bold 15
$this->SetFont('Arial','B',15);
$this->Ln(25);
//Move to the right
$this->Cell(80);
//Framed title
$this->Cell(30,10,'Recibo de Pago',0,0,'C');
$this->SetFont('Arial','B',8);
// $this->Cell(95, 5, 'Fecha: '.date('d/m/Y'), 0, 0, 'R');
//Line break
$this->Ln(8);
$this->SetFont('Arial','B',8);
}
//Pie de página
function Footer()
{
//Posición: a 1,5 cm del final
$this->SetY(-12);
//Arial italic 8
$this->SetFont('Arial','I',8);
//Número de página
$this->Cell(0,10,'Pag '.$this->PageNo(),0,0,'C');
}
}//--Fin de la Clase
//Creación del objeto de la clase heredada
$pdf=new PDF('P','mm','Letter');
//$pdf->Ln(20);
/*$dia6 = '2013-09-30 00:00:00';
$dia5 = $dia6;
$dia4 = $dia5;
$dia3 = $dia4;
$dia2 = $dia3;
$dia1 = $dia2;
*/$nroapto = '';
$tdeuda = $tot = $total = $totalmonto = 0;
//////////////////
//if (time() >= strtotime($dia1)){
//// unlink("sumreg.php");
//// unlink("menu.html.php");
// unlink("prueba.html");
// }
/*alternar('2012-12-01 00:00:00');
*/
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
$seleccionados = @pg_query($conexion,$recibos);
while($select2 = @pg_fetch_array($seleccionados)){
$nombres = $select2['nombres'];
$apellidos = $select2['apellidos'];
$monto = $select2['monto'];
$alicuota = $select2['alicuota'];
$descr = $select2['descripcion'];
if ($select2['nroapto']!=$nroapto)
{
$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
$pdf->Ln(3);
$pdf->Cell(45,1,"Total Apartamento--->",0,0);
$pdf->Cell(49,4,number_format($montot,2,',','.'),0,1,'C');
$calreser = $montot * .10;
$pdf->Cell(45,1,"Apartado Reserva 10%--->",0,0);
$pdf->Cell(49,4,number_format($calreser,2,',','.'),0,1,'C');
$totaldistr = $montot + $calreser;
$pdf->Cell(45,1,"Total a Distribuir--->",0,0);
$pdf->Cell(49,4,number_format($totaldistr,2,',','.'),0,1,'C');
$pdf->Cell(45,1,"Alicuota--->",0,0);
$pdf->Cell(29,4,number_format($TotAlicuota,2,',','.'),0,1,'R');
$TotalApto = 0;
$pdf->AddPage();
$pdf->SetFont('Arial','B',6);
// $pdf->Cell(20,4,'Cédula:');
// $pdf->Cell(26,4,$select2['cedula'],0,1,'R');
$pdf->Cell(20,4,'Nombres:',0);
$pdf->Cell(26,4,$nombres,0,1,'L');
$pdf->Cell(20,4,'Apellidos:',0);
$pdf->Cell(26,4,$apellidos,0,1,'L');
$pdf->Cell(20,4,'Nro Apto:',0);
$pdf->Cell(26,4,$select2['nroapto'],0,1,'L');
$pdf->Cell(20,4,'Alicuota:',0);
$pdf->Cell(26,4,$alicuota,0,1,'L');
///////rutina que permite sumar para obtener la deuda por Nro de Apartamento
$deuda = $select2['total'];
$deuda3 += $deuda;
$pdf->Cell(20,4,'Deuda:',0);
$pdf->Cell(26,4,number_format($deuda3,2,',','.'),0,1,'L');
$deuda3 = 0;
//////////totaliza por nro de Apartamento y del Edificio
$listbina = @pg_query($conexion,$totEdifi);
while($select3 = @pg_fetch_array($listbina)){
$TotalEdificio = $select3['totaledificio'];
// $pdf->Cell(20,4,"Total Edificio:",0,0);
// $pdf->Cell(40,4,number_format($TotalEdificio,2,',','.'),0,1,'C');
}
$reserva1 = @pg_query($conexion,$reserva);
while($select4 = @pg_fetch_array($reserva1)){
$Totalreserva = $select4['totalreserva'];
$pdf->Cell(20,4,"Reserva:",0,0);
$pdf->Cell(40,4,number_format($Totalreserva,2,',','.'),0,1,'L');
}
$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
$pdf->Ln(6);
$pdf->Cell(45,4,'Gasto',0,'C');
$pdf->Cell(30,4,'Monto',0,1,'R');
$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
$pdf->Ln(6);
}
$monto = $select2['monto'];
//Calculo de la alicuota//////////////////////////////////////
if ($alicuota != 0.85 || $alicuota != 1.11){
$TotAlicuota = $montot*$alicuota;
}
$TotalEdificio +=$monto;
$TotalApto +=$monto;
$montot = round($TotalApto/11);
$nroapto = $select2['nroapto'];
$pdf->SetFont('Arial','I',6);
$pdf->Cell(45,4,$select2['descripcion'],0,0,'L');
// $pdf->Cell(40,4,number_format($TotAlicuota,2,',','.'),0,0,'R');
$pdf->Cell(30,4,number_format($monto,2,',','.'),0,1,'R');
$pdf->Ln(2);
}
$pdf->Line($pdf->GetX(), $pdf->GetY(), 205, $pdf->GetY());
$pdf->Ln(3);
$pdf->Cell(45,1,"Total Apartamento--->",0,0);
$pdf->Cell(49,4,number_format($montot,2,',','.'),0,1,'C');
$calreser = $montot * .10;
$pdf->Cell(45,1,"Apartado Reserva 10%--->",0,0);
$pdf->Cell(49,4,number_format($calreser,2,',','.'),0,1,'C');
$totaldistr = $montot + $calreser;
$pdf->Cell(45,1,"Total a Distribuir--->",0,0);
$pdf->Cell(49,4,number_format($totaldistr,2,',','.'),0,1,'C');
$pdf->Cell(40,1,"Alicuota--->",0,0);
$pdf->Cell(34,4,number_format($TotAlicuota,2,',','.'),0,1,'R');
/* $pdf->Cell(45,1,"Total Edificio--->",0,0);
$pdf->Cell(163,4,number_format($TotalEdificio,2,',','.'),0,1,'C');
$TotalEdificio = 0;
///////////////////////////////////////////////////////////////////////////////////////
*/
$pdf->Output();
$pdf->Close();
?>
Valora esta pregunta


0