Plus précisément, en utilisant iTextSharp, j'ai pu le faire fonctionner avec ce qui suit, en particulier - version pdf 1.7 et Setprint ("filigrane", true)
string oldfile = @"c:\temp\oldfile.pdf";
string newFile = @"c:\temp\newfile.pdf";
PdfReader pdfReaderS = new PdfReader(oldfile);
Document document = new Document(pdfReaderS.GetPageSizeWithRotation(1));
PdfWriter pdfWriterD = PdfWriter.GetInstance(document, new FileStream(newFile, FileMode.Create, FileAccess.Write));
pdfWriterD.SetPdfVersion(PdfWriter.PDF_VERSION_1_7);
document.Open();
PdfContentByte pdfContentByteD = pdfWriterD.DirectContent;
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
int n = pdfReaderS.NumberOfPages;
string text = "UNCONTROLLED";
for (int i = 1; i <= n; i++)
{
iTextSharp.text.Rectangle pageSizeS = pdfReaderS.GetPageSizeWithRotation(i);
float pageWidth = pageSizeS.Width/2;
float pageheight = pageSizeS.Height/2;
document.SetPageSize(pageSizeS);
document.NewPage();
PdfImportedPage pdfImportedPage = pdfWriterD.GetImportedPage(pdfReaderS, i);
PdfLayer layer1 = new PdfLayer("Watermark", pdfWriterD);
layer1.SetPrint("Watermark", true);
layer1.View = false;
layer1.On = false;
layer1.OnPanel = false;
pdfContentByteD.BeginLayer(layer1);
pdfContentByteD.SetColorFill(BaseColor.RED);
pdfContentByteD.SetFontAndSize(bf, 30);
ColumnText.ShowTextAligned(pdfContentByteD, Element.ALIGN_CENTER, new Phrase(text), 300, 700, 0);
pdfContentByteD.EndLayer();
pdfContentByteD.AddTemplate(pdfImportedPage, 0, 0);//, 0, 1, 0, 0);
}
document.Close();
pdfReaderS.Close();
Je ne pense pas que ce soit possible. D'une part, comment allez-vous empêcher les gens d'imprimer une capture d'écran? – SLaks
Comment allez-vous les empêcher d'utiliser Photoshop? –
Êtes-vous sûr de vouloir faire cela? J'ai toujours pensé que l'un des points du PDF était de créer un document électronique visible sur presque toutes les plateformes et d'afficher exactement comment il serait imprimé. Avec ce dernier à l'esprit, j'inclurais un filigrane sur la vue électronique. – Jay