Diagonal text watermark that appears only when printing?

Is it possible to have a text watermark/ annotation that only appears when printing, that goes diagonally across the page from bottom left to top right?


It seems like we would want to use the FreeTextAnnotation for this, since that supports the NoView and Print annotation flags. However, I don’t see a way to make this text diagonal.

Alternatively, it appears a TextStamp would allow us to set an angle for the text, but has no support for making the text only appear when printing.

An example of how we are trying to format the text is attached.

Hi Keith,

Thanks for contacting support.

Yes you are correct. Currently we can set flags for FreeTextAnnotation object but it does not support the feature to set rotate angle. The requirement I have logged 2436, we will further investigate is details and update status.

We apologize for your inconvenience.

We are considering buying the Priority Support and would like our issue evaluated to see if it will be appropriate.

Hi Keith,


Please note that
ES/PS support does not guarantee any immediate resolution of issues (because
it might be dependent on other issues or feature which needs to be implemented
)
but under this model, the development team starts investigating the
problem on high priority. For further details, please visit Support Options.

Hi Nayyaz


Is the diagonal Text or TexpStamp or Floating Box already implemented?

I badly need to put horizontal watermark in my pdf page. Maybe you can suggest small code.

Thanks,
Rolly

Hi Rolly,

Thanks for contacting support.

Aspose.Pdf for .NET supports the feature to add TextStamp and FloatingBox object to PDF file. For more information, please visit Adding Text Stamp in the PDF File.

Furthermore, in order to add FloatingBox, please try using following code snippet.

C#

// Instantiate Document object
Document doc = new Document();

// Add page to PDF document
Page page = doc.Pages.Add();

// Create FloatingBox object
FloatingBox aBox = new FloatingBox(40, 60);

// Set left position for FloatingBox
aBox.Left = 40;

// Set Top position for FloatingBox
aBox.Top = 80;

// Set Horizontal alignment for FloatingBox
aBox.HorizontalAlignment = HorizontalAlignment.Center;

// Add text fragment to paragraphs collection of FloatingBox
aBox.Paragraphs.Add(new TextFragment("main text"));

// Set border for FloatingBox
aBox.Border = new BorderInfo(BorderSide.All);

// Set background color for FloatingBox
aBox.BackgroundColor = Color.Yellow;

// Add FloatingBox to paragraphs collection of page object
page.Paragraphs.Add(aBox);

// Set background of PDF page
page.Background = Color.LightGray;

// Save the PDF document
doc.Save("c:/pdftest/FloatingBox.pdf");
HI,

Sorry I type it should be diagonally not horizontally.

Can you give some code to make text DIAGONAL

Thanks,
Rolly

Hi Rolly,

Thanks for sharing the details.

Please try using the following code snippet to accomplish your requirements. For your reference, I have also attached the output generated on my end.

C#

// Instantiate Document object
Document doc = new Document();

// Add page to PDF document
Page page = doc.Pages.Add();

// Instantiate TextStamp object
TextStamp stamp = new TextStamp("Watermark String");
stamp.RotateAngle = 45;

//set origin
stamp.XIndent = 100;
stamp.YIndent = 100;

//set text properties
stamp.TextState.Font = FontRepository.FindFont("Arial");
stamp.TextState.FontSize = 16.0F;
stamp.TextState.FontStyle = FontStyles.Bold;
stamp.TextState.FontStyle = FontStyles.Italic;
stamp.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Aqua);

// Add TextStamp to page object
page.AddStamp(stamp);

// Set background of PDF page
page.Background = Aspose.Pdf.Color.LightGray;

// Save the PDF document
doc.Save("c:/pdftest/Diagnal_StampObject.pdf");