xbap में छवियों के साथ आयात आरटीएफ

वोट
1

मैं आगे पार्स के लिए एक FlowDocument में एक आरटीएफ दस्तावेज़ आयात करने की आवश्यकता .. लेकिन मैं एक बहुत ही अजीब समस्या है:

public string ConvertRTF(byte[] bytes)
{
    if (bytes == null)
    {
        throw new ArgumentNullException();
    }

    FlowDocument document = new FlowDocument();

    // open the file for reading
    using (MemoryStream stream = new MemoryStream(bytes, true))
    {
        // create a TextRange around the entire document
        TextRange documentTextRange = new TextRange(document.ContentStart, document.ContentEnd);
        if (documentTextRange.CanLoad(DataFormats.Rtf))
            documentTextRange.Load(stream, DataFormats.Rtf);
    }

    return XamlWriter.Save(document);

}

मैं तीन अलग अलग परियोजनाओं में इस विधि का परीक्षण किया है:

  • WPF अकेले एप्लिकेशन खड़े : मुझे कोई समस्या नहीं तो कभी, लेकिन अफसोस, मैं आवेदन इस तरह का उपयोग नहीं कर सकते क्या देता है।
  • कंसोल अनुप्रयोग : यह अक्सर काम करता है, लेकिन यह समय-समय पर छवि के साथ दस्तावेजों पर टूट जाता है, और मैं अपनी उंगली के आसपास जब यह टूट जाता है और नहीं मिल सकता है क्यों ... त्रुटि मैं प्राप्त कर रहा TextRange का लोड पद्धति पर है: न पहचाना गया । डेटा स्वरूप में 'रिच टेक्स्ट फ़ॉर्मेट' पैरामीटर नाम संरचना: धारा
  • Xbap आवेदन : यहां तक कि अतीत CanLoad विधि नहीं मिलता है ... :( तो मुझे जैक whathisname एक परिणाम के रूप देता है ...

Stange बात यह है कि जब मैं यह सांत्वना अनुप्रयोग यह निम्नलिखित निर्माण में त्रुटियों के बिना काम करता है के साथ परीक्षण, है:

[STAThread]
static void Main(string[] args)
{
    OpenFileDialog dialog = new OpenFileDialog
    {
        Filter = import files (*.rtf)|*.rtf
    };

    if (dialog.ShowDialog() != DialogResult.OK)
        return;


    byte[] data;
    using (Stream filestream = dialog.OpenFile())
    {
        int offset = 0;
        data = new byte[filestream.Length];
        int remaining = data.Length;
        while (remaining > 0)
        {
            int read = filestream.Read(data, offset, remaining);
            if (read <= 0)
                throw new EndOfStreamException
                    (String.Format(End of stream reached with {0} bytes left to read, remaining));
            remaining -= read;
            offset += read;
        }
    }

    FlowDocument document = new FlowDocument();

    using (MemoryStream stream = new MemoryStream(data))
    {
        // create a TextRange around the entire document
        TextRange documentTextRange = new TextRange(document.ContentStart, document.ContentEnd);
        documentTextRange.Load(stream, DataFormats.Rtf);
    }

    Console.WriteLine(test ok);
}

कौन सा बस मुझे जानकारी नहीं करते हैं, क्योंकि मैं वास्तव में क्या कर रहा हूँ, लेकिन फिर दो चरणों में चरणबद्ध ... पहले बिट्स पुनः प्राप्त है, तो यह एक आरटीएफ में बनाने के लिए MemoryStream का उपयोग यह है कि ... :(

यह हो सकता है कि वहाँ कुछ dll संस्करण किसी भी तरह में एक संघर्ष हो सकता है? हम अपने परियोजना के लिए 3.5 एसपी 1 का उपयोग कर रहे हैं ...

किसी की मदद कर सकते हैं मुझे पिछले दो posibilities ऊपर उल्लेख किया है में से एक के लिए एक समाधान खोजने के?

धन्यवाद

12/03/2009 को 17:08
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
0

जाहिरा तौर पर नहीं किया जा सकता है।

क्या हम साथ समाप्त हो गया सर्वर जो अधिक विशेषाधिकार के लिए rtf भेजने है, और परिणाम वापस ग्राहक के लिए भेज देते हैं। बुरा है, लेकिन यह काम करता है।

21/12/2010 को 14:02
का स्रोत उपयोगकर्ता

वोट
0

आप की संभावना विश्वास स्तर के साथ समस्या है। आंशिक विश्वास के लिए Xbap इंटरनेट अनुप्रयोगों चूक। आप xpab इंटरनेट अनुप्रयोगों के साथ पूर्ण विश्वास अनुमति देने के लिए प्रमाणपत्र का उपयोग कर सकते हैं।

28/09/2010 को 19:25
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more