internal override void SetObject(PdfItem value)
    {
      PdfObject obj = (PdfObject)value;

      this.tbxObjectID.Text = PdfInternals.GetObjectID(obj).ToString();
      this.txtType.Text = obj.GetType().Name;

      this.lvKeys.Items.Clear();

      ListViewItem item = new ListViewItem(
        new string[3]{ExplorerProcess.GetTypeName(obj), value.ToString(), value.GetType().Name});
      this.lvKeys.Items.Add(item);
    }
Example #2
0
        internal override void WriteObject(PdfWriter writer)
        {
            // HACK: temporarily flip media box if Landscape
            PdfRectangle mediaBox = MediaBox;

            // TODO: Take /Rotate into account
            if (_orientation == PageOrientation.Landscape)
            {
                MediaBox = new PdfRectangle(mediaBox.X1, mediaBox.Y1, mediaBox.Y2, mediaBox.X2);
            }

#if true
            // Add transparency group to prevent rendering problems of Adobe viewer.
            // Update (PDFsharp 1.50 beta 3): Add transparency group only of ColorMode is defined.
            // Rgb is the default for the ColorMode, but if user sets it to Undefined then
            // we respect this and skip the transparency group.
            TransparencyUsed = true; // TODO: check XObjects
            if (TransparencyUsed && !Elements.ContainsKey(Keys.Group) &&
                _document.Options.ColorMode != PdfColorMode.Undefined)
            {
                PdfDictionary group = new PdfDictionary();
                _elements["/Group"] = group;
                if (_document.Options.ColorMode != PdfColorMode.Cmyk)
                {
                    group.Elements.SetName("/CS", "/DeviceRGB");
                }
                else
                {
                    group.Elements.SetName("/CS", "/DeviceCMYK");
                }
                group.Elements.SetName("/S", "/Transparency");
                //False is default: group.Elements["/I"] = new PdfBoolean(false);
                //False is default: group.Elements["/K"] = new PdfBoolean(false);
            }
#endif

#if DEBUG_
            PdfItem item = Elements["/MediaBox"];
            if (item != null)
            {
                item.GetType();
            }
#endif
            base.WriteObject(writer);

            if (_orientation == PageOrientation.Landscape)
            {
                MediaBox = mediaBox;
            }
        }
Example #3
0
        internal override void WriteObject(PdfWriter writer)
        {
            // HACK: temporarily flip media box if Landscape
            PdfRectangle mediaBox = MediaBox;

            // TODO: Take /Rotate into account
            if (orientation == PageOrientation.Landscape)
            {
                MediaBox = new PdfRectangle(mediaBox.X1, mediaBox.Y1, mediaBox.Y2, mediaBox.X2);
            }
//#warning THHO4STLA: warum nicht new PdfRectangle(mediaBox.Y1, mediaBox.X1, mediaBox.Y2, mediaBox.X2)? - siehe auch Orientation
//#warning THHO4STLA: CropBox, BleedBox etc. auch drehen?

#if true
            // Add transparency group to prevent rendering problems of Adobe viewer
            this.transparencyUsed = true; // TODO: check XObjects
            if (this.transparencyUsed && !Elements.ContainsKey(Keys.Group) && (writer.Options & PdfWriterOptions.PdfACompat) != PdfWriterOptions.PdfACompat)
            {
                PdfDictionary group = new PdfDictionary();
                this.elements["/Group"] = group;
                if (this.document.Options.ColorMode != PdfColorMode.Cmyk)
                {
                    group.Elements.SetName("/CS", "/DeviceRGB");
                }
                else
                {
                    group.Elements.SetName("/CS", "/DeviceCMYK");
                }
                group.Elements.SetName("/S", "/Transparency");
                group.Elements["/I"] = new PdfBoolean(false);
                group.Elements["/K"] = new PdfBoolean(false);
            }
#endif

#if DEBUG_
            PdfItem item = Elements["/MediaBox"];
            if (item != null)
            {
                item.GetType();
            }
#endif
            base.WriteObject(writer);

            if (this.orientation == PageOrientation.Landscape)
            {
                MediaBox = mediaBox;
            }
        }
Example #4
0
        static void DebugCheckNonObjects(PdfItem item)
        {
            if (item is PdfName)
                return;
            if (item is PdfBoolean)
                return;
            if (item is PdfInteger)
                return;
            if (item is PdfNumber)
                return;
            if (item is PdfString)
                return;
            if (item is PdfRectangle)
                return;
            if (item is PdfNull)
                return;

            Type type = item.GetType();
            Debug.Assert(type != null, string.Format("CheckNonObjects: Add {0} to the list.", type.Name));
        }