/// <summary> /// Retrieves the raw data for the colorspace. /// </summary> /// <returns>The raw data from the PdfArray of PdfReference.</returns> protected virtual IEnumerable<byte> GetRawPalette(PdfItem item) { // The palette data is directly imbedded. if (item.IsArray()) return(GetRawPalette(item as PdfArray)); if (item.IsReference()) return (GetRawPalette(item as PdfReference)); if (item is PdfString pdfString) return new RawEncoding().GetBytes(pdfString.Value); throw new ArgumentException("The specified palette information was incorrect.", "item"); }
/// <summary> /// A helper for a PdfItem that will automatically lookup / fetch the corresponding /// PdfReference item if the item is a PdfReference. If the item is not a PdfItem, /// then the original item is returned. /// </summary> /// <param name="item">The PdfItem to expand or fetch from.</param> /// <returns>The expanded PdfReference item if a PdfReference, otherwise the original item is returned.</returns> public static PdfItem Get(this PdfItem item) { if (item != null) { if (item.IsReference()) { return(Get(((PdfReference)item).Value)); } } return(item); }
/// <summary> /// Get's the colorspace name for the specified item. /// </summary> /// <param name="colorSpace">The colorspace to inspect.</param> /// <returns>The PdfName of the specified item.</returns> private static string GetColorSpaceName(PdfItem colorSpace) { if (colorSpace == null) return(null); if (colorSpace.IsArray()) return (GetColorSpaceName(((PdfArray)colorSpace).Elements[0])); if (colorSpace.IsName()) return (((PdfName) colorSpace).Value); if (colorSpace.IsReference()) { PdfReference reference = (colorSpace as PdfReference); if (reference != null) { return (GetColorSpaceName(reference.Value)); } } return (null); }
/// <summary> /// Retrieves the raw data for the colorspace. /// </summary> /// <returns>The raw data from the PdfArray of PdfReference.</returns> protected virtual IEnumerable <byte> GetRawPalette(PdfItem item) { // The palette data is directly imbedded. if (item.IsArray()) { return(GetRawPalette(item as PdfArray)); } if (item.IsReference()) { return(GetRawPalette(item as PdfReference)); } throw new ArgumentException("The specified palette information was incorrect.", "item"); }
/// <summary> /// Retrieves the raw data for the colorspace. /// </summary> /// <returns>The raw data from the PdfArray of PdfReference.</returns> protected virtual IEnumerable<byte> GetRawPalette(PdfItem item) { // The palette data is directly imbedded. if (item.IsArray()) return(GetRawPalette(item as PdfArray)); if (item.IsReference()) return (GetRawPalette(item as PdfReference)); throw new ArgumentException("The specified palette information was incorrect.", "item"); }