Beispiel #1
0
        void OnExtractPages(object o, EventArgs args)
        {
            var to_doc   = new PdfDocument();
            var from_doc = PdfSharp.Pdf.IO.PdfReader.Open(new Uri(app.Document.CurrentStateUri).LocalPath, PdfDocumentOpenMode.Import, null);
            var pages    = app.IconView.SelectedPages.ToList();

            foreach (var index in pages.Select(p => p.Index))
            {
                to_doc.AddPage(from_doc.Pages[index]);
            }

            var path = Client.GetTmpFilename();

            to_doc.Save(path);
            to_doc.Dispose();

            app.LoadPath(path, Path.Combine(
                             Path.GetDirectoryName(app.Document.SuggestedSavePath),
                             Hyena.StringUtil.EscapeFilename(String.Format("{0} [{1}].pdf",
                                                                           Path.GetFileNameWithoutExtension(app.Document.SuggestedSavePath),
                                                                           GLib.Markup.EscapeText(Document.GetPageSummary(pages, 10))))
                             ));
        }