У меня есть приложение 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. До того, как я прошел в принтере.PrintingItem = url.Path; который в основном просто передавал строку пути, а не фактическую форму NSUrl.
printer.PrintingItem = url;