For HTML2PDF and XML2PDF solution check our PDFDoc Scout ActiveX library instead
Drawing transparent objects using Bytescout.PDF drawing
API functions
using System;
using System.Collections.Generic;
using System.Text;
using Bytescout.PDF;
using System.Diagnostics;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
// Create main PDF Doc Engine
PDFDocEngine engine = new PDFDocEngine("", "");
// Add new document
Document document = engine.AddDocument();
// Append new page to the document
Page page = document.AddPage(PageSizeType.A3, PageOrientationType.LandScape);
// Create new drawing
Drawing drawing = page.AddDrawing();
// Line width
const double lineWidth = 3.0f;
// Set Line Width
drawing.SetLineWidth(lineWidth);
// Save the current graphics state on the graphics state
stack
drawing.StateStore();
// Create new graphic state
DrawingState drawingState = new DrawingState(document);
// Set fill alpha blending to 30%
drawingState.AlphaFill = 0.3f;
// Set lines alpha blending to 100%
drawingState.AlphaStroke = 1.0f;
// Set graphic state as current
drawing.SetGState(drawingState);
// Create yellow fill color
Color yellowColor = Drawing.RGBToColor(255, 218, 11);
// Set fill color
drawing.SetFillColor(yellowColor);
// Draw rectangle
drawing.rectangle(100.0f, 100.0f, 400.0f, 400.0f);
// Fill and stroke rectangle
drawing.FillAndStroke();
// Restore the current graphics state from the graphics
state stack
drawing.StateRestore();
drawing.StateStore();
// Create new graphic state
drawingState = new DrawingState(document);
// Set alpha blending to shapes
drawingState.AlphaIsShape = true;
// Set fill alpha blending to 70%
drawingState.AlphaFill = 0.7f;
// Set lines alpha blending to 100%
drawingState.AlphaStroke = 1.0f;
// Set graphic state as current
drawing.SetGState(drawingState);
// Create green fill color
Color greenColor = Drawing.RGBToColor(30, 131, 35);
// Set fill color
drawing.SetFillColor(greenColor);
// Create new path
drawing.NewPath();
// Draw from point with coordinate (200, 200)...
drawing.MoveTo(200.0f, 200.0f);
// ... to point with coordinate (200, 600) and then ...
drawing.LineTo(200.0f, 600.0f);
// ... to point with coordinate (600, 600) and then ...
drawing.LineTo(600.0f, 600.0f);
// ... to point with coordinate (600, 200).
drawing.LineTo(600.0f, 200.0f);
// Close new path
drawing.ClosePath();
// Fill shape
drawing.Fill();
// Restore the current graphics state from the graphics
state stack
drawing.StateRestore();
// Closing drawing on the page
drawing.Close();
// Save document
document.Save("AlphaBlending.pdf");
// open generated PDF document in default PDF viewer installed
in Windows
Process.Start("AlphaBlending.pdf");
}
}
}
Download example source code: bytescoutpdf/bytescoutpdf_transparent_drawings.zip
(4 KB)
For HTML2PDF and XML2PDF solution check our PDFDoc Scout ActiveX library instead