У меня есть приложение 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;