public static Sound Create(string filename, int sampling_rate) { PDFStream stream1 = Library.CreateStream(new FileStream(filename, FileMode.Open)); stream1.Dict["R"] = Library.CreateFixed(((double)sampling_rate)); return(new Sound(stream1)); }
public PDFStream InsertStream(Stream s, int nr) { PDFStream stream1 = Library.CreateStream(); this.InsertStream(stream1, nr); stream1.Encode(s); return(stream1); }
public static XObjectPS Create(Stream ps) { PDFDict dict1 = Library.CreateDict(); dict1["Type"] = PDF.N("XObject"); dict1["Subtype"] = PDF.N("PS"); PDFStream stream1 = Library.CreateStream(ps, dict1); return(Resources.Get(stream1, typeof(XObjectPS)) as XObjectPS); }
public static FunctionType4 Create(double[] domain, double[] range, string expression) { byte[] numArray1 = Encoding.ASCII.GetBytes(expression); PDFStream stream1 = Library.CreateStream(numArray1, 0, numArray1.Length, false, null); PDFDict dict1 = stream1.Dict; dict1["FunctionType"] = Library.CreateInteger(((long)4)); dict1["Domain"] = Library.CreateArray(false, domain); dict1["Range"] = Library.CreateArray(false, range); return(new FunctionType4(stream1)); }
public static EmbeddedFileStream Create(bool indirect, Stream _str) { PDFStream stream1 = Library.CreateStream(_str); EmbeddedFileStream stream2 = (Resources.Get(stream1, typeof(EmbeddedFileStream)) as EmbeddedFileStream); if (indirect) { Library.CreateIndirect(stream1); } return(stream2); }
public static ColorSpaceICCBased Create(Document doc, bool indirect, Stream profile, params string[] encoding) { PDFArray array2; int num2; PDFArray array1 = Library.CreateArray(2); array1[0] = PDF.N("ICCBased"); PDFStream stream1 = Library.CreateStream(); byte[] numArray1 = new byte[30]; profile.Position = ((long)0); int num1 = profile.Read(numArray1, 0, 30); if (num1 == 0) { throw new Exception("Empty ICC profile"); } string text1 = Utils.BytesToString(numArray1); if (text1.IndexOf("GRAY") != -1) { stream1.Dict["N"] = Library.CreateInteger(((long)1)); } if (text1.IndexOf("RGB") != -1) { stream1.Dict["N"] = Library.CreateInteger(((long)3)); } if (text1.IndexOf("CMYK") != -1) { stream1.Dict["N"] = Library.CreateInteger(((long)4)); } if ((encoding != null) && (encoding.Length > 0)) { array2 = Library.CreateArray(encoding.Length); stream1.Dict["Filter"] = array2; for (num2 = 0; (num2 < encoding.Length); num2 += 1) { array2[num2] = PDF.N(encoding[num2]); } } stream1.Encode(profile); array1[1] = doc.Indirects.New(stream1); ColorSpaceICCBased based1 = (Resources.Get(array1, typeof(ColorSpaceICCBased)) as ColorSpaceICCBased); if (indirect) { doc.Indirects.New(array1); } return(based1); }
public static PDFStream CreateStream(Stream src, PDFDict strmDict, bool encodeAndEncrypt) { Stream stream1 = new MemoryStream(); byte[] numArray1 = new byte[65536]; int num1 = 0; goto Label_001E; Label_0015: stream1.Write(numArray1, 0, num1); Label_001E: num1 = src.Read(numArray1, 0, numArray1.Length); if (num1 != 0) { goto Label_0015; } stream1.Position = ((long)0); return(Library.CreateStream(stream1, ((long)0), stream1.Length, strmDict, encodeAndEncrypt)); }
public static XObjectForm Create(string StrBody, Rect BBox) { int num1; byte[] numArray1 = new byte[StrBody.Length]; for (num1 = 0; (num1 < StrBody.Length); num1 += 1) { numArray1[num1] = ((byte)StrBody[num1]); } MemoryStream stream1 = new MemoryStream(numArray1); PDFStream stream2 = Library.CreateStream(stream1); stream2.Dict["Subtype"] = Library.CreateName("Form"); XObjectForm form1 = new XObjectForm(stream2); form1.BBox = BBox; form1.CTM = new CTM(1f, 0f, 0f, 1f, 0f, 0f); return(form1); }
public static XObjectForm Create() { int num1; string text1 = "/DeviceRGB cs 0.1 1.0 1.0 sc 0.0 4.00 40.00 20.00 re B"; byte[] numArray1 = new byte[text1.Length]; for (num1 = 0; (num1 < text1.Length); num1 += 1) { numArray1[num1] = ((byte)text1[num1]); } MemoryStream stream1 = new MemoryStream(numArray1); PDFStream stream2 = Library.CreateStream(stream1); stream2.Dict["Subtype"] = Library.CreateName("Form"); XObjectForm form1 = new XObjectForm(stream2); form1.BBox = new Rect(0f, 0f, 50f, 50f); form1.CTM = new CTM(1f, 0f, 0f, 1f, 0f, 0f); return(form1); }
public bool EmbedFontFile(Stream fontStream) { PDFArray array1; PDFDict dict1; PDFDict dict2; Altsoft.FTMB.Font font1 = Altsoft.FTMB.Font.OpenFont(fontStream); if ((font1 == null) || !font1.GetType().Equals(typeof(TrueTypeFont))) { return(false); } if (((font1.EmbeddingRights & 782) == 0) || ((font1.EmbeddingRights & 8) != 0)) { array1 = (this.Dict["DescendantFonts"] as PDFArray); if (array1 == null) { return(false); } dict1 = (array1[0] as PDFDict); if (dict1 == null) { return(false); } dict1 = (dict1["FontDescriptor"] as PDFDict); if (dict1 == null) { return(false); } font1.FontStream.Position = ((long)0); dict2 = Library.CreateDict(); dict2["Filter"] = Library.CreateName("FlateDecode"); dict2["Length1"] = Library.CreateInteger(font1.FontStream.Length); dict1["FontFile2"] = base.Direct.Doc.Indirects.New(Library.CreateStream(font1.FontStream, dict2)); return(true); } return(false); }
public static PDFStream CreateStream(byte[] buffer, int offset, int count, bool copyData, PDFDict strmDict) { return(Library.CreateStream(buffer, offset, count, copyData, strmDict, true)); }
public static PDFStream CreateStream(Stream src, long offset, long count, PDFDict strmDict) { return(Library.CreateStream(src, offset, count, strmDict, true)); }
protected internal virtual PDFDirect CopyHandlerDirect(PDFDirect src, CopyHandlerDelegate ch) { PDFObject obj1; PDFArray array1; PDFArray array2; int num1; PDFDict dict1; PDFDict dict2; PDFStream stream1; PDFStream stream2; if (ch != null) { obj1 = ch.Invoke(this.dstDoc, src); if ((obj1 is PDFDirect)) { src = ((PDFDirect)obj1); } else { throw new PDFException("Can\'t convert direct into indirect"); } } PDFObjectType type1 = src.PDFType; switch (type1) { case PDFObjectType.tPDFNull: { goto Label_0155; } case PDFObjectType.tPDFInteger: { goto Label_0133; } case PDFObjectType.tPDFFixed: { goto Label_0122; } case PDFObjectType.tPDFBoolean: { goto Label_00A2; } case PDFObjectType.tPDFName: { goto Label_0144; } case PDFObjectType.tPDFString: { goto Label_01E7; } case PDFObjectType.tPDFDict: { dict1 = (src as PDFDict); dict2 = Library.CreateDict(); foreach (PDFName name1 in dict1.Keys) { dict2[name1.Value] = this.CopyHandler(dict1[name1, 0], ch); } return(dict2); } case PDFObjectType.tPDFArray: { array1 = (src as PDFArray); array2 = Library.CreateArray(array1.Count); num1 = 0; goto Label_0097; } case PDFObjectType.tPDFStream: { stream1 = (src as PDFStream); stream2 = Library.CreateStream(); foreach (PDFName name2 in stream1.Dict.Keys) { stream2.Dict[name2.Value] = this.CopyHandler(stream1.Dict[name2, 0], ch); } stream2.SetRawStream(stream1.Decrypt()); return(stream2); } } goto Label_01F8; Label_007D: array2[num1] = this.CopyHandler(array1[num1, 0], ch); num1 += 1; Label_0097: if (num1 < array1.Count) { goto Label_007D; } return(array2); Label_00A2: return(Library.CreateBoolean((src as PDFBoolean).Value)); Label_0122: return(Library.CreateFixed((src as PDFFixed).Value)); Label_0133: return(Library.CreateInteger((src as PDFInteger).Value)); Label_0144: return(Library.CreateName((src as PDFName).Value)); Label_0155: return(Library.CreateNull()); Label_01E7: return(Library.CreateString((src as PDFString).Value)); Label_01F8: throw new Exception("Invalid object type"); }
public static PDFStream CreateStream() { return(Library.CreateStream(Stream.Null, ((long)0), ((long)0), null)); }
public static Altsoft.PDFO.Font EmbedFont(Document doc, Stream fontstream, string encoding, bool embedFontFile, bool isVertical) { int num2; PDFArray array2; int num10; Altsoft.FTMB.Font font1 = Altsoft.FTMB.Font.OpenFont(fontstream); if ((font1.FontType != FontType.TrueTypeFontT) || (encoding != "Unicode")) { return(null); } TrueTypeFont font2 = (font1 as TrueTypeFont); double num1 = ((double)font2.UnitsPerEm); PDFDict dict1 = Library.CreateDict(); dict1["Type"] = Library.CreateName("Font"); dict1["Subtype"] = Library.CreateName("CIDFontType2"); dict1["BaseFont"] = Library.CreateName(font2.FontName); PDFDict dict2 = Library.CreateDict(); dict2["Registry"] = Library.CreateString("Adobe"); dict2["Ordering"] = Library.CreateString("Identity"); dict2["Supplement"] = Library.CreateInteger(((long)0)); dict1["CIDSystemInfo"] = dict2; TTEncoding encoding1 = null; for (num2 = 0; ((num2 < font2.Encodings.Count) && (encoding1 == null)); num2 += 1) { encoding1 = ((TTEncoding)font2.Encodings[num2]); if ((encoding1.platformID != 3) || ((encoding1.specificID != 1) && (encoding1.specificID != 0))) { encoding1 = null; } } if (encoding1 == null) { return(null); } dict1["DW"] = Library.CreateInteger(((long)((((double)font2.GetWidth(encoding1.GetGID(0))) * 1000f) / num1))); int num3 = 0; int num4 = encoding1.GetLastCharCode(ref num3); int num5 = encoding1.GetFirstCharCode(ref num3); PDFArray array1 = Library.CreateArray(0); if (num5 != 0) { array1.Add(Library.CreateInteger(((long)0))); array2 = Library.CreateArray(0); array2.Add(Library.CreateInteger(((long)((((double)font2.GetWidth(0, 3, 1)) * 1000f) / num1)))); array1.Add(array2); } array1.Add(Library.CreateInteger(((long)num5))); array2 = Library.CreateArray(0); array2.Add(Library.CreateInteger(((long)((((double)font2.GetWidth(num3)) * 1000f) / num1)))); int num6 = num5; while ((num5 != num4)) { num5 = encoding1.GetNextCharCode(num5, ref num3); if (num5 != (num6 + 1)) { array1.Add(array2); array1.Add(Library.CreateInteger(((long)num5))); array2 = Library.CreateArray(0); } num6 = num5; array2.Add(Library.CreateInteger(((long)((((double)font2.GetWidth(num3)) * 1000f) / num1)))); } array1.Add(array2); dict1["W"] = array1; Stream stream1 = new MemoryStream(); int num7 = encoding1.GetFirstCharCode(ref num3); int num8 = 0; while ((num8 < num7)) { stream1.WriteByte(0); stream1.WriteByte(0); num8 += 1; } stream1.WriteByte(((byte)(num3 / 256))); stream1.WriteByte(((byte)(num3 % 256))); num8 += 1; int num9 = encoding1.GetLastCharCode(ref num3); do { num7 = encoding1.GetNextCharCode(num7, ref num3); while ((num8 < num7)) { stream1.WriteByte(0); stream1.WriteByte(0); num8 += 1; } stream1.WriteByte(((byte)(num3 / 256))); stream1.WriteByte(((byte)(num3 % 256))); num8 += 1; }while ((num7 != num9)); stream1.Position = ((long)0); PDFDict dict3 = Library.CreateDict(); dict3["Filter"] = Library.CreateName("FlateDecode"); PDFStream stream2 = Library.CreateStream(stream1, dict3); dict1["CIDToGIDMap"] = doc.Indirects.New(stream2); PDFDict dict4 = Library.CreateDict(); dict4["Type"] = Library.CreateName("FontDescriptor"); dict4["FontName"] = Library.CreateName(font2.FontName); dict4["Flags"] = Library.CreateInteger(((long)4)); PDFArray array3 = Library.CreateArray(4); for (num10 = 0; (num10 < 4); num10 += 1) { array3[num10] = Library.CreateInteger(((long)font2.FontBBox[num10])); } dict4["FontBBox"] = array3; dict4["ItalicAngle"] = Library.CreateFixed(font2.ItalicAngle); dict4["Ascent"] = Library.CreateInteger(((long)font2.FontBBox[3])); dict4["Descent"] = Library.CreateInteger(((long)font2.FontBBox[1])); dict4["CapHeight"] = Library.CreateInteger(((long)font2.FontBBox[3])); dict4["StemV"] = Library.CreateInteger(((long)0)); if (((font2.EmbeddingRights == 0) || ((font2.EmbeddingRights & 8) != 0)) && embedFontFile) { font2.FontStream.Position = ((long)0); dict3 = Library.CreateDict(); dict3["Filter"] = Library.CreateName("FlateDecode"); dict3["Length1"] = Library.CreateInteger(font2.FontStream.Length); dict4["FontFile2"] = doc.Indirects.New(Library.CreateStream(font2.FontStream, dict3)); } dict1["FontDescriptor"] = doc.Indirects.New(dict4); PDFDict dict5 = Library.CreateDict(); dict5["Type"] = Library.CreateName("Font"); dict5["Subtype"] = Library.CreateName("Type0"); dict5["BaseFont"] = Library.CreateName(font2.FontName); if (!isVertical) { dict5["Encoding"] = Library.CreateName("Identity-H"); } else { dict5["Encoding"] = Library.CreateName("Identity-V"); } PDFArray array4 = Library.CreateArray(1); array4[0] = doc.Indirects.New(dict1); dict5["DescendantFonts"] = array4; return(new FontType0(dict5)); }
public static XObjectImage Create(Document doc, Bitmap img, params string[] encoding) { int num3; int num4; int num5; Color color1; int num6; PDFArray array1; int num7; int num8; PDFStream stream1 = Library.CreateStream(); PDFDict dict1 = stream1.Dict; dict1["Width"] = PDF.O(img.Width); dict1["Height"] = PDF.O(img.Height); dict1["Subtype"] = PDF.N("Image"); dict1["Type"] = PDF.N("XObject"); byte[] numArray1 = null; BitArrayAccessor accessor1 = null; int num1 = 0; int num2 = 0; if (doc == null) { doc = Library.Resources.Doc; } XObjectImage image1 = ((XObjectImage)doc.Resources[doc.Indirects.New(stream1), typeof(XObjectImage)]); image1.ColorSpace = ColorSpaceDeviceRGB.Create(); numArray1 = new byte[((3 * img.Width) * img.Height)]; num1 = 8; num2 = (3 * img.Width); dict1["BitsPerComponent"] = PDF.O(8); for (num3 = 0; (num3 < img.Height); num3 += 1) { num4 = 0; accessor1 = new BitArrayAccessor(numArray1, ((num3 * num2) * 8), num1, false); for (num5 = 0; (num5 < img.Width); num5 += 1) { color1 = img.GetPixel(num5, num3); num6 = 0; while ((num6 < 3)) { num8 = num6; switch (num8) { case 0: { int num9 = num4; num4 = (num9 + 1); accessor1[num4] = ((long)((ulong)color1.R)); goto Label_0180; } case 1: { int num10 = num4; num4 = (num10 + 1); accessor1[num4] = ((long)((ulong)color1.G)); goto Label_0180; } case 2: { goto Label_016B; } } goto Label_0180; Label_016B: int num11 = num4; num4 = (num11 + 1); accessor1[num4] = ((long)((ulong)color1.B)); Label_0180: num6 += 1; } } } MemoryStream stream2 = new MemoryStream(numArray1); if (encoding.Length > 0) { array1 = Library.CreateArray(encoding.Length); stream1.Dict["Filter"] = array1; for (num7 = 0; (num7 < encoding.Length); num7 += 1) { array1[num7] = PDF.N(encoding[num7]); } } stream1.Encode(stream2); return(image1); }
public static PDFStream CreateStream(Stream src) { return(Library.CreateStream(src, Library.CreateDict(), true)); }
public static PDFObject DefaultCopyHandler(Document dstDoc, PDFObject src) { PDFIndirect indirect1; PDFStream stream1; if (src == null) { return(Library.CreateNull()); } if ((src is PDFIndirect)) { indirect1 = dstDoc.Indirects.New(); indirect1.Direct = ((PDFDirect)Document.DefaultCopyHandler(dstDoc, src.Direct)); return(indirect1); } PDFDirect direct1 = null; PDFDirect direct2 = ((PDFDirect)src); PDFObjectType type1 = src.PDFType; switch (type1) { case PDFObjectType.tPDFNull: { return(Library.CreateNull()); } case PDFObjectType.tPDFInteger: { return(Library.CreateInteger(((PDFInteger)direct2).Value)); } case PDFObjectType.tPDFFixed: { return(Library.CreateFixed(((PDFFixed)direct2).Value)); } case PDFObjectType.tPDFBoolean: { return(Library.CreateBoolean(((PDFBoolean)direct2).Value)); } case PDFObjectType.tPDFName: { return(Library.CreateName(((PDFName)direct2).Value)); } case PDFObjectType.tPDFString: { return(Library.CreateString(((PDFString)direct2).Value)); } case PDFObjectType.tPDFDict: case PDFObjectType.tPDFArray: { goto Label_0108; } case PDFObjectType.tPDFStream: { stream1 = ((PDFStream)direct2); return(Library.CreateStream(stream1.Decrypt(), ((PDFDict)dstDoc.CloneObject(stream1.Dict)), false)); } } Label_0108: return(Library.CreateDirect(src.PDFType)); }
public static PDFStream CreateStream(Stream src, PDFDict strmDict) { return(Library.CreateStream(src, strmDict, true)); }