Inheritance: PdfDictionary
コード例 #1
0
// ===========================================================================
    public override void Write(Stream stream) {
      // step 1
      using (Document document = new Document()) {
        // step 2
        PdfWriter writer = PdfWriter.GetInstance(document, stream);
        // step 3
        document.Open();
        // step 4
        PdfContentByte canvas = writer.DirectContent;
        PdfShading axial = PdfShading.SimpleAxial(writer, 36, 716, 396,
          788, BaseColor.ORANGE, BaseColor.BLUE
        );
        canvas.PaintShading(axial);
        document.NewPage();
        PdfShading radial = PdfShading.SimpleRadial(writer,
          200, 700, 50, 300, 700, 100,
          new BaseColor(0xFF, 0xF7, 0x94),
          new BaseColor(0xF7, 0x8A, 0x6B),
          false, false
        );
        canvas.PaintShading(radial);

        PdfShadingPattern shading = new PdfShadingPattern(axial);
        ColorRectangle(canvas, new ShadingColor(shading), 150, 420, 126, 126);
        canvas.SetShadingFill(shading);
        canvas.Rectangle(300, 420, 126, 126);
        canvas.FillStroke();
      }
    }
コード例 #2
0
// ---------------------------------------------------------------------------
    /**
     * Prints a square and fills half of it with a gray rectangle.
     * 
     * @param x
     * @param y
     * @param cb
     * @throws Exception
     */
    public static void PictureBackdrop(float x, float y, PdfContentByte cb,
        PdfWriter writer) 
    {
      PdfShading axial = PdfShading.SimpleAxial(writer, x, y, x + 200, y,
        BaseColor.YELLOW, BaseColor.RED
      );
      PdfShadingPattern axialPattern = new PdfShadingPattern(axial);
      cb.SetShadingFill(axialPattern);
      cb.SetColorStroke(BaseColor.BLACK);
      cb.SetLineWidth(2);
      cb.Rectangle(x, y, 200, 200);
      cb.FillStroke();
    }    
コード例 #3
0
        /// <summary>
        /// Draws a rectangular gradient background color.
        /// </summary>
        /// <param name="position">The coordinates of the cell</param>
        /// <param name="canvases">An array of PdfContentByte to add text or graphics</param>
        /// <param name="startColor">Gradient's Start Color</param>
        /// <param name="endColor">Gradient's End Color</param>
        public static void DrawGradientBackground(this Rectangle position, PdfContentByte[] canvases, BaseColor startColor, BaseColor endColor)
        {
            if (startColor == null || endColor == null) return;

            var cb = canvases[PdfPTable.BACKGROUNDCANVAS];
            cb.SaveState();

            var shading = PdfShading.SimpleAxial(
                                    cb.PdfWriter,
                                    position.Left, position.Top, position.Left, position.Bottom,
                                    startColor, endColor);
            var shadingPattern = new PdfShadingPattern(shading);

            cb.SetShadingFill(shadingPattern);
            cb.Rectangle(position.Left, position.Bottom, position.Width, position.Height);
            cb.Fill();

            cb.RestoreState();
        }
コード例 #4
0
 internal void AddSimpleShadingPattern(PdfShadingPattern shading) {
     if (!documentShadingPatterns.ContainsKey(shading)) {
         shading.Name = patternNumber;
         ++patternNumber;
         documentShadingPatterns[shading] = null;
         AddSimpleShading(shading.Shading);
     }
 }
コード例 #5
0
 /**
 * Sets the shading stroke pattern
 * @param shading the shading pattern
 */
 public virtual void SetShadingStroke(PdfShadingPattern shading)
 {
     writer.AddSimpleShadingPattern(shading);
     PageResources prs = PageResources;
     PdfName name = prs.AddPattern(shading.PatternName, shading.PatternReference);
     content.Append(PdfName.PATTERN.GetBytes()).Append(" CS ").Append(name.GetBytes()).Append(" SCN").Append_i(separator);
     ColorDetails details = shading.ColorDetails;
     if (details != null)
         prs.AddColor(details.ColorName, details.IndirectReference);
 }
コード例 #6
0
 /**
 * Paints using a shading pattern.
 * @param shading the shading pattern
 */
 public virtual void PaintShading(PdfShadingPattern shading)
 {
     PaintShading(shading.Shading);
 }
コード例 #7
0
 /**
 * Sets the shading fill pattern.
 * @param shading the shading pattern
 */
 public virtual void SetShadingFill(PdfShadingPattern shading) {
     writer.AddSimpleShadingPattern(shading);
     PageResources prs = PageResources;
     PdfName name = prs.AddPattern(shading.PatternName, shading.PatternReference);
     SaveColor(new ShadingColor(shading), true);
     content.Append(PdfName.PATTERN.GetBytes()).Append(" cs ").Append(name.GetBytes()).Append(" scn").Append_i(separator);
     ColorDetails details = shading.ColorDetails;
     if (details != null)
         prs.AddColor(details.ColorSpaceName, details.IndirectReference);
 }
コード例 #8
0
 public ShadingColor(PdfShadingPattern shadingPattern) : base(TYPE_SHADING, .5f, .5f, .5f) {
     this.shadingPattern = shadingPattern;
 }
コード例 #9
0
 public ShadingColor(PdfShadingPattern shadingPattern) : base(TYPE_SHADING, .5f, .5f, .5f)
 {
     this.shadingPattern = shadingPattern;
 }