tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
374
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    secret Burner secret Burner ist offline Mitglied
    Registriert seit
    Feb 2007
    Beiträge
    18
    Hallo Leute!
    Habe folgendes Problem und hoffe es kann mir jemand von Euch dabei helfen!
    Ich habe die Aufgabe bekommen ein PDF in ein XML einzubetten. Habe mir daher gedacht ich mache einen Binarystream auf die PDF-Datei und schreibe das ganze einfach in die XML-Datei.
    Denkste, das Problem ist hierbei das man Sonderzeichen und dergleichern erhält die nicht XML-Konform sind bzw. gibt es auch eine Vorgabe wie in etwa das Format aussehen soll!

    Hiermal der Code den ich bisher habe:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    byte[] returnValue = null;
     
                        using (FileStream fr = new FileStream(openPDFFile.FileName, FileMode.Open))
                        {
                            using (BinaryReader br = new BinaryReader(fr, Encoding.UTF8))
                            {
                                returnValue = br.ReadBytes((int)fr.Length);
                            }
                        }

    Das Format in der XML-Datei sollte danach ungefähr so ausehen:
    <PDF_ANHANG ART="PDF">
    JVBERi0xLjMKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFIvRmlsdGVyIC9GbGF0ZURlY29k
    ZT4+CnN0cmVhbQp4nFWNSwsCMQyE8a3VH9Fje9iYPtNcBRG8Kb2pJ0FPK6z+f7DqoisDyWT4mDTS
    SCz6zHMtlnuS14fA973ftOZ+FY34J+UqFzhJY2W+CATmhNwSjJKQwTDLXIuD6mkESpyIVV9bcBRj
    ........
    </PDF_ANHANG>
     

  2. #2
    tequila slammer tequila slammer ist offline Mitglied Gold
    Registriert seit
    Aug 2006
    Beiträge
    203
    Kannst du den Grund für dieses Vorgehen erklären? Es macht keinen Sinn ein binäres Dokument in ein xml zu packen. Vielleicht hilft es dir schon weiter, statt dem eigentlichen Dokument einfach nur ein Verweis auf dieses in das xml einzupflegen.
     

  3. #3
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    7.983
    Hi.

    @secret Burner: Du mußt die Daten kodieren (und später wieder dekodieren). Dazu könntest du z.B. Base64 verwenden.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  4. #4
    secret Burner secret Burner ist offline Mitglied
    Registriert seit
    Feb 2007
    Beiträge
    18
    Danke für die schnelle Antwort!
    @tequlla slammer: Ich muss/soll das insofern machen da diese XML-Datei weiter vermittelt wird und es nur möglich ist über XML zu kommunizieren!

    @deepthroat: Okay, gut aber wie mache ich das jetzt!? Hätte es wie gesagt schon beim BinaryReader im Konstruktor mit utf8 angegeben! Hättest Du da möglicherweise eine kleines Codeexample dafür? Beziehungsweise mir ist noch nicht ganz klar wie ich jetzt so einen string zurückerhalte wie ich diesen oben angegeben habe!?
     

  5. #5
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    7.983
    Zitat Zitat von secret Burner Beitrag anzeigen
    @deepthroat: Okay, gut aber wie mache ich das jetzt!? Hätte es wie gesagt schon beim BinaryReader im Konstruktor mit utf8 angegeben!
    Das bringt nichts. In XML sind einige valide UTF-8 Zeichen nicht erlaubt. \edit: -- vergiss das edit --
    Zitat Zitat von secret Burner Beitrag anzeigen
    Hättest Du da möglicherweise eine kleines Codeexample dafür?
    Codebeispiele gibt's doch wie Sand am Meer.
    Zitat Zitat von secret Burner Beitrag anzeigen
    Beziehungsweise mir ist noch nicht ganz klar wie ich jetzt so einen string zurückerhalte wie ich diesen oben angegeben habe!?
    Verwende einen XmlWriter und dessen WriteBase64 Methode. (http://msdn.microsoft.com/de-de/libr...8VS.80%29.aspx)

    Gruß
    Geändert von deepthroat (14.06.10 um 14:55 Uhr)
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  6. #6
    secret Burner secret Burner ist offline Mitglied
    Registriert seit
    Feb 2007
    Beiträge
    18
    @deepthroat: Danke vielmals für den Hinweis mit dem XMLWriter! Jetzt funktionierts wie geplant!