Comment faire pour convertir un fichier XPS pour une image en haute qualité (plutôt que floue basse résolution)?

Je suis en train de convertir un XPS avec WPF.

L'idée est que ces images peuvent être chargées avec silverlight 4, pour cela, je suis en utilisant le code suivant:

 //XPS Document
            XpsDocument xpsDoc = new XpsDocument(xpsFileName, System.IO.FileAccess.Read);
            FixedDocumentSequence docSeq = xpsDoc.GetFixedDocumentSequence();

        //The number of pages
        PageCount = docSeq.References[0].GetDocument(false).Pages.Count;

        DocumentPage sizePage = docSeq.DocumentPaginator.GetPage(0);
        PageHeight = sizePage.Size.Height;
        PageWidth = sizePage.Size.Width;
        //Scale dimensions from 96 dpi to 600 dpi.
        double scale = 300/ 96;

        //Convert a XPS page to a PNG file
        for (int pageNum = 0; pageNum < PageCount; pageNum++)
        {
            DocumentPage docPage = docSeq.DocumentPaginator.GetPage(pageNum);
            BitmapImage bitmap = new BitmapImage();
            RenderTargetBitmap renderTarget =
                new RenderTargetBitmap((int)(scale * (docPage.Size.Height + 1)),
                                                               (int)(scale * (docPage.Size.Height + 1)),
                                                               scale * 96,
                                                               scale * 96, PixelFormats.Pbgra32);
            renderTarget.Render(docPage.Visual);


            PngBitmapEncoder encoder = new PngBitmapEncoder();

            encoder.Frames.Add(BitmapFrame.Create(renderTarget));

            FileStream pageOutStream = new FileStream(name + ".Page" + pageNum + ".png", FileMode.Create, FileAccess.Write);
            encoder.Save(pageOutStream);
            pageOutStream.Close();

Ce code est issu du http://xpsreader.codeplex.com/ un projet visant à convertir un document XPS.
fonctionne très bien!
Mais le problème est que l'image est de faible résolution et floue.
J'ai fait des recherches et trouvé que RenderTargetBitmap et trouver sur cette page:
http://www.codeproject.com/Questions/213737/Render-target-bitmap-quality-issues

Le problème ici est que vous Avez à ne pas utiliser de matériel RenderTargetBitmap rendu.

Une solution est d'utiliser DirectX avec WPF pour ce faire, mais n'ai pas trouvé d'exemple clair pour me montrer la bonne façon de le faire.

J'apprécie suggestions. Merci à l'avance.

Mise à jour:j'ai joint le document XPS, je suis en train de convertir l'image
S'il vous plaît télécharger test.xps

Vous essayez de rendre à 1800 dpi. Que c'est terminé, overkill - delà de 300 dpi va être excessif, sauf si vous prévoyez d'effectuer un zoom avant façon sur l'écran.
vous êtes de droite est à 300 dpi était juste à expérimenter avec différentes valeurs des suggestions?
Si vous êtes prêt à le faire hors ligne (et compatible), alors vous pouvez utiliser ghostscript, qui a xps soutien dans les éditions ultérieures. Voir: ghostscript.com/GPL_Ghostscript_8.61.html
Avez-vous un exemple xps document qu'il produit des images floues? Je obtenir de belles images nettes.
oui j'ai joint le fichier!. Merci.

OriginalL'auteur Ricardo Pons | 2011-07-02