예제 #1
0
    public string ToXml(DesktopLabel D1, bool bomflag = true)
    {
        string Xmlstr = "";

        XmlWriterSettings settings = new XmlWriterSettings();

        settings.Indent           = true;
        settings.Encoding         = new UTF8Encoding(bomflag);
        settings.NewLineChars     = Environment.NewLine;
        settings.ConformanceLevel = ConformanceLevel.Document;

        var encb = new UTF8Encoding(true);

        using (var stream = new MemoryStream())
        {
            using (XmlWriter writer = XmlWriter.Create(stream, settings))
            {
                DLSerializer.Serialize(new XmlWriterEE(writer), D1);
            }

            byte[] v1 = stream.ToArray();

            Xmlstr = encb.GetString(v1);

            int pos = Xmlstr.IndexOf(@"></DYMOThickness>");

            if (pos > 0)
            {
                Xmlstr = Xmlstr.Replace(@"></DYMOThickness>", @" />");
            }

            return(Xmlstr);
        }
    }
예제 #2
0
    public DesktopLabel FromXml(string Xml)
    {
        DesktopLabel Dl = new DesktopLabel();

        using (TextReader reader = new StringReader(Xml))
        {
            Dl = (DesktopLabel)DLSerializer.Deserialize(reader);
        }
        return(Dl);
    }
예제 #3
0
    private DesktopLabel Openlabel(string LabelName)
    {
        IDymoLabel D1 = DymoLabel.Instance;

        Dymodkl.TextObject T = null;
        D1.LoadLabelFromFilePath(LabelName);
        DesktopLabel D2 = Dlab.FromXml(D1.XMLContent);

        Lt = D2.DYMOLabel.DLM.LOS.LTOS;
        List <string> Ln = (List <string>)(from DymoSDK.Interfaces.ILabelObject d in D1.GetLabelObjects() select d.Name as string).ToList();

        if (Ln.Contains("dob"))
        {
            Setlo("dob", "DOB: " + DOB);
        }

        if (Ln.Contains("printed"))
        {
            Setlo("printed", DateTime.Now.ToString("MM/dd/yyyy"), 0, 1);
        }

        if (Ln.Contains("Date_Printed"))
        {
            Setlo("Date_Printed", "Printed: " + DateTime.Now.ToString("MM/dd/yyyy"), 0, 0);
        }

        Dcy = Setlo("name", Patient);

        if (Ln.Contains("firstline"))
        {
            T    = Get_to("firstline");
            Ltop = Convert.ToDecimal(T.ObjectLayout.DPOINT.Y);
            Dcy  = Ltop;
            Lt.Remove(T);
        }

        if (Ln.Contains("lastline"))
        {
            T       = Get_to("lastline");
            Lbottom = Convert.ToDecimal(T.ObjectLayout.DPOINT.Y);
            Lt.Remove(T);
        }

        return(D2);
    }
예제 #4
0
    private void Finish_label(DesktopLabel Lbl, int N)
    {
        IDymoLabel DLbl = DymoLabel.Instance;
        string     X1   = Dlab.ToXml(Lbl, false);

        DLbl.LoadLabelFromXML(X1);
        var x = DLbl.GetPreviewLabel();

        Labels.Add((DymoLabel)DLbl);
        Images.Add(DLbl.Preview);

#if DEBUG
        string F1  = Dlab.ToXml(Lbl, true);
        string lns = "Label" + N.ToString() + ".dymo";
        using (StreamWriter Sw = new StreamWriter(lns))
        {
            Sw.Write(F1);
        }
#endif
    }