MonoTouch печать локального файла PDF - PullRequest
0 голосов
/ 03 июня 2011

У меня есть приложение MonoTouch, которое генерирует некоторые PDF-файлы локально, а затем распечатывает их на сетевом принтере.Чтобы заставить это работать, я сначала просто добавил ресурс PDF в проект, который я мог бы попытаться напечатать, но сейчас у меня очень много времени.Когда я печатаю только HMTL или строковое значение, все хорошо, но печать PDF потеряла меня.При отладке похоже, что приложение получает правильный URL.

Любая помощь будет принята с благодарностью, и мой пример кода приведен ниже:

public void PrintSomePDF ()
    {
        var printInfo = UIPrintInfo.PrintInfo;
        printInfo.OutputType = UIPrintInfoOutputType.General;
        printInfo.JobName = "Test: PDF Print";

        string pdfFileName = "printthispdf_01.pdf";
        NSUrl url = NSUrl.FromFilename(pdfFileName);           

        var printer = UIPrintInteractionController.SharedPrintController;
        printer.PrintInfo = printInfo;
        printer.PrintingItem = url.Path;
        printer.ShowsPageRange = true;

        printer.Present (true, (handler, completed, err) => {
            if (!completed && err != null){
                Console.WriteLine ("error");
            }
        });
    }

Мне удалось решить проблему с помощью способа передачи NSUrl в PrintingItem.До того, как я перешел в printer.PrintingItem = url.Path;который в основном просто передавал строку пути, а не фактическую форму NSUrl.

printer.PrintingItem = url;

1 Ответ

1 голос
/ 03 июня 2011

То, что я всегда предпочитал делать (и это очень сильно зависит от развернутого устройства - в моем случае это был сервер, которым я управлял), это просто установить принтер PDF, а затем это так же просто, как распечатать любой другой вид документ.

Что-то вроде BullZip является бесплатным и позволяет записывать любые параметры печати в файл RunOnce.ini (xml) для печати в автоматическом режиме с настройками имени файла и т. Д.

Очевидно, что это не лучшее решение, если у вас нет контроля над системой, которую вы развертываете, но надежное и простое, если у вас есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...