非常感谢您的数据,我喜欢它,但我的英语很差,对不起。
这是我的iTextSharp
礼仪代码:
public void impriItex()
{
iTextSharp.text.Font fontH1 = new iTextSharp.text.Font(FUENTE_BASE, 14, iTextSharp.text.Font.ITALIC);
iTextSharp.text.Font fuente = new iTextSharp.text.Font(FUENTE_BASE, 12, iTextSharp.text.Font.NORMAL);
iTextSharp.text.Font FUENTE_CABECERA_TABLA = new iTextSharp.text.Font(FUENTE_BASE, 10, iTextSharp.text.Font.BOLD);
dataGridViewOculta.DataSource = fun.CargaDato(cargaVelores);
dataGridViewTotales.DataSource = fun.CargaDato(cargaVelores);
dataGridViewVentas.DataSource = fun.CargaDato(cargaVelores);
//Letras
//Tabla
PdfPTable pdfTable = new PdfPTable(6);
pdfTable.DefaultCell.Padding = 2;
pdfTable.WidthPercentage = 40;
pdfTable.HorizontalAlignment = Element.ALIGN_CENTER;
pdfTable.DefaultCell.BorderWidth = 1;
//cabeceras
foreach (DataGridViewColumn column in dataGridViewOculta.Columns)
{
PdfPCell cell = new PdfPCell(new Phrase(column.HeaderText, FUENTE_CABECERA_TABLA));
cell.HorizontalAlignment = Element.ALIGN_CENTER;
cell.BackgroundColor = new iTextSharp.text.BaseColor(210, 240, 240);
pdfTable.AddCell(cell);
}
//datos
foreach (DataGridViewRow row in dataGridViewOculta.Rows)
{
try
{
foreach (DataGridViewCell cell in row.Cells)
{
String texto = cell.Value.ToString();
String textovacio = texto.Replace("00:00:00", " ");
PdfPCell cosa = new PdfPCell(new Phrase(textovacio, fuente));
cosa.HorizontalAlignment = Element.ALIGN_CENTER;
pdfTable.AddCell(cosa);
pdfTable.HorizontalAlignment = Element.ALIGN_CENTER;
}
}
catch { return; }
}
//Exporting to PDF
string folderPath = "C:\\PDFs\\";
if (!Directory.Exists(folderPath))
{
Directory.CreateDirectory(folderPath);
}
using (FileStream stream = new FileStream(folderPath + "Etiquetas.pdf", FileMode.Create))
{
Document pdfDoc = new Document(PageSize.A4, 0f, 0f, 0f, 0f);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, stream);
PdfPTable tabla = new PdfPTable(1);
pdfDoc.Open();
PdfContentByte cb = writer.DirectContent;
PdfContentByte lineas = writer.DirectContent;
for (int fila = 0; fila < dataGridViewVentas.Rows.Count - 1; fila++)
{
for (int col = 0; col < dataGridViewVentas.Rows[fila].Cells.Count; col++)
labelTitulo.Text = "Etiquetas";
Cantidad = dataGridViewVentas.Rows[fila].Cells[0].Value.ToString();
IdColor = dataGridViewVentas.Rows[fila].Cells[1].Value.ToString();
IdCategoria = dataGridViewVentas.Rows[fila].Cells[2].Value.ToString();
NomCategoria = dataGridViewVentas.Rows[fila].Cells[3].Value.ToString();
Colores = dataGridViewVentas.Rows[fila].Cells[4].Value.ToString();
CodigoDeGrupo = dataGridViewVentas.Rows[fila].Cells[5].Value.ToString();
lblNombreSocio.Text = IdColor + ":" + Cantidad;
String espacio = " ";
Paragraph linea = new Paragraph("________________________________________________________", fuente);
Paragraph lineaDoble = new Paragraph(Cantidad, fuente);
Paragraph SocioPar = new Paragraph("Color:" + lblNombreSocio.Text, fuente);
Paragraph SociedadPar = new Paragraph("Categoria: " + NomCategoria, fuente);
Paragraph Titulo = new Paragraph(labelTitulo.Text, fontH1);
Paragraph parrafoEspacio = new Paragraph(" ", fuente);
linea.Alignment = Element.ALIGN_CENTER;
lineaDoble.Alignment = Element.ALIGN_CENTER;
Titulo.Alignment = Element.ALIGN_CENTER;
SocioPar.Alignment = Element.ALIGN_CENTER;
SociedadPar.Alignment = Element.ALIGN_CENTER;
pdfTable.HorizontalAlignment = Element.ALIGN_CENTER;
pdfDoc.Add(linea);
pdfDoc.Add(Titulo);
pdfDoc.Add(lineaDoble);
pdfDoc.Add(parrafoEspacio);
pdfDoc.Add(SocioPar);
pdfDoc.Add(SociedadPar);
// pdfDoc.Add(pdfTable);}
for (int x = 0; x < Convert.ToInt32(Cantidad); x++)
{
cb.Rectangle(posx, posy, 40f, 25f);
lineas.SetLineWidth(1);
lineas.MoveTo(posx+20, posy+15);
lineas.LineTo(posx+20,posy);
lineas.Stroke();
// lineas.
lineas.MoveTo(posx + 20, posy+10 );
lineas.LineTo(posx, posy + 10);
lineas.MoveTo(posx + 40, posy + 10);
lineas.LineTo(posx, posy + 10);
lineas.Stroke();
//texto !!!!!!!!!!!
lineas.BeginText();
lineas.SetFontAndSize(FUENTE_BASE, 6);
lineas.SetTextMatrix(posx, posy);
lineas.ShowText(IdColor);
lineas.EndText();
//tabla.AddCell("prueba");
// pdfDoc.Add(tabla);
Chunk c = new Chunk(x.ToString());
// iTextSharp.text.Rectangle rect = new iTextSharp.text.Rectangle(posx, 650f, 25f, 10f);
// cb.Rectangle(rect);
cb.Stroke();
float nuevo = posx + 42f;
posx = nuevo;
if (posx > 500f)
{ posx = 20; posy = posy-35f; }
}
pdfDoc.NewPage();
posx = 10f;
posy = 700;
}
pdfDoc.Close();
stream.Close();
}
}