public void SendtoDicomPrinter(Hashtable htb, int row, int col, int noofcopies, string filmsizeid, string filmorient, int timeout, ref string newErrMsg) { try { _imageDisplayFormatItem = string.Concat(@"STANDARD\", col.ToString(), ",", row.ToString()); _filmSizeIDItem = filmsizeid; _filmOrientation = filmorient; var printScu = new PrintScu(); printScu.ColorMode = ColorMode.Grayscale; PrintScu.GetPixelDataDelegate getPixelDataDelegate = GetImageFromFile; var list = new List<PrintScu.IPrintItem>(); for (int rowIdx = 1; rowIdx <= row; rowIdx++) { for (int colIdx = 1; colIdx <= col; colIdx++) { { //Load DICOM File string rc = string.Concat(rowIdx.ToString(), colIdx.ToString()); //Tìm file ở hàng i cột j string fileToPrint = htb[rc].ToString(); var printItem = new PrintScu.PrintItem(getPixelDataDelegate); printItem.PrintObject = fileToPrint; list.Add(printItem); } } } PrintScu.CreateFilmBoxDelegate mDelegate = CreateBasicFilmBox; var filmSession = new PrintScu.FilmSession(list, mDelegate) {NumberOfCopies = noofcopies}; printScu.ReadTimeout = timeout; printScu.WriteTimeout = timeout; printScu.Print(_localAETitle, _remoteAETitle, _remoteHost, _remotePort, filmSession); newErrMsg = printScu.ResultStatus.ToString(); } catch (Exception exception) { newErrMsg = exception.ToString(); } }
private PrintScu.FilmBox CreateBasicFilmBox(IList<PrintScu.IPrintItem> currentQueue) { FilmOrientation filmorient; Enum.TryParse(_filmOrientation, true, out filmorient); var filmBox = new PrintScu.FilmBox(_imageDisplayFormatItem, _filmSizeIDItem) {FilmOrientation = filmorient}; foreach (DictionaryEntry dictionaryEntry in _hashtableFiles) { var printItem = new PrintScu.PrintItem(); printItem.PrintObject = dictionaryEntry.Value.ToString(); currentQueue.Add(printItem); } return filmBox; }