C sharp - marca de agua en archivo .pdf

 
Vista:
sin imagen de perfil
Val: 14
Ha aumentado su posición en 7 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

marca de agua en archivo .pdf

Publicado por OMAR (6 intervenciones) el 25/09/2020 04:20:17
hola buenas noches.

tengo una consulta que hacer. tengo unas lineas en C# que me inserta marca de agua en un archivo .pdf, y de hecho funciona, lo malo es que solo en la primera pagina o en la que elija, aun no encontré la manera de que me inserte la marca de agua en todas las paginas indistintamente de la cantidad e paginas, aquí les paso el código que utilizo.


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
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Pdf.Parsing;
using System.Drawing;
using System.Diagnostics;
 
namespace CreateWatermarkPDFSample
{
    class Program
    {
        static void Main(string[] args)
        {
            //Carga el documento.
            PdfLoadedDocument loadedDocument = new PdfLoadedDocument(@"C:\TEMP_SIGAMM\MM.pdf");
            PdfPageBase loadedPage = loadedDocument.Pages[0];
            PdfGraphics graphics = loadedPage.Graphics;
            //establecer la fuente
            PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 30);
            // texto de marca de agua.
            PdfGraphicsState state = graphics.Save();
            graphics.SetTransparency(0.25f);
            graphics.RotateTransform(-40);
            graphics.DrawString("CONFIDENCIAL", font, PdfPens.Red, PdfBrushes.Red, new PointF(40, 400));
            //guarda cambios
            loadedDocument.Save(@"C:\TEMP_SIGAMM\MM2.pdf");
            loadedDocument.Close(true);


desde ya agradeceria si me opuedan facilitar una solución
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 326
Plata
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

marca de agua en archivo .pdf

Publicado por miguelZarate (143 intervenciones) el 30/09/2020 22:49:17
Lo tenes sencillo haz el mismo proceso para cada pagina

PdfPageBase loadedPage = loadedDocument.Pages[0]; so

agrega un ciclo de 0 a Pages.Count-1
y asi agregas la marca para cada pagina.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 14
Ha aumentado su posición en 7 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

marca de agua en archivo .pdf

Publicado por CELSO OMAR (6 intervenciones) el 03/10/2020 16:25:44
hola como estas gracias por tu respuesta, sinceramente no entiendo como aplicarlo a las lineas que tengo, podrías darme un ejemplo sobre las lineas que envié. aclaro que los números de paginas varían, y no se sabe cuantas paginas puede tener un archivo. gracias nuevamente por tu respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 326
Plata
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

marca de agua en archivo .pdf

Publicado por miguelZ (143 intervenciones) el 06/10/2020 21:31:47
aunque tus paginas sean variables el total te lo da el elemento Pages.\\

aqui pseudo 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
///////
 
PdfLoadedDocument loadedDocument = new PdfLoadedDocument(@"C:\TEMP_SIGAMM\MM.pdf");
 
for (i=0:i<loadedDocument.Pages-1)
{
  PdfPageBase loadedPage = loadedDocument.Pages[i]
 
PdfPageBase loadedPage = loadedDocument.Pages[0];
            PdfGraphics graphics = loadedPage.Graphics;
            //establecer la fuente
            PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 30);
            // texto de marca de agua.
            PdfGraphicsState state = graphics.Save();
            graphics.SetTransparency(0.25f);
            graphics.RotateTransform(-40);
            graphics.DrawString("CONFIDENCIAL", font, PdfPens.Red, PdfBrushes.Red, new PointF(40, 400));
 
 
}
 
//guarda cambios
loadedDocument.Save(@"C:\TEMP_SIGAMM\MM2.pdf");
loadedDocument.Close(true);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 14
Ha aumentado su posición en 7 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

marca de agua en archivo .pdf

Publicado por CELSO OMAR (6 intervenciones) el 07/10/2020 05:10:15
hola como estas, intente implementar lo que me enviaste pero me da este error:
" solo se puede usar la expresión de objeto assignment, call, increment, decrementawait y new com oinstruccion.
el operador "-" no se puede aplicar a operadores PdfLoadedDocument y int"

esto es el error que sale.

muchas gracias de todas formas por tu aporte, espero poder resolverlo, si te surge algo mas te agradecería mucho si me lo compartís.
de todas formar te adjunte una captura del error.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar