comparison OrthancServer/OrthancRestApi/OrthancRestResources.cpp @ 1556:b8dc2f855a83

Preview of PDF files encapsulated in DICOM from Orthanc Explorer
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 20 Aug 2015 17:05:05 +0200
parents d6a93e12b1c1
children de1413733c97 f5ddbd9239dd
comparison
equal deleted inserted replaced
1555:d6a93e12b1c1 1556:b8dc2f855a83
1048 call.GetOutput().AnswerJson(result); 1048 call.GetOutput().AnswerJson(result);
1049 } 1049 }
1050 } 1050 }
1051 1051
1052 1052
1053 static void ExtractPdf(RestApiGetCall& call)
1054 {
1055 const std::string id = call.GetUriComponent("id", "");
1056
1057 std::string pdf;
1058 ServerContext::DicomCacheLocker locker(OrthancRestApi::GetContext(call), id);
1059
1060 if (locker.GetDicom().ExtractPdf(pdf))
1061 {
1062 call.GetOutput().AnswerBuffer(pdf, "application/pdf");
1063 return;
1064 }
1065 }
1066
1053 1067
1054 void OrthancRestApi::RegisterResources() 1068 void OrthancRestApi::RegisterResources()
1055 { 1069 {
1056 Register("/instances", ListResources<ResourceType_Instance>); 1070 Register("/instances", ListResources<ResourceType_Instance>);
1057 Register("/patients", ListResources<ResourceType_Patient>); 1071 Register("/patients", ListResources<ResourceType_Patient>);
1091 Register("/instances/{id}/frames/{frame}/preview", GetImage<ImageExtractionMode_Preview>); 1105 Register("/instances/{id}/frames/{frame}/preview", GetImage<ImageExtractionMode_Preview>);
1092 Register("/instances/{id}/frames/{frame}/image-uint8", GetImage<ImageExtractionMode_UInt8>); 1106 Register("/instances/{id}/frames/{frame}/image-uint8", GetImage<ImageExtractionMode_UInt8>);
1093 Register("/instances/{id}/frames/{frame}/image-uint16", GetImage<ImageExtractionMode_UInt16>); 1107 Register("/instances/{id}/frames/{frame}/image-uint16", GetImage<ImageExtractionMode_UInt16>);
1094 Register("/instances/{id}/frames/{frame}/image-int16", GetImage<ImageExtractionMode_Int16>); 1108 Register("/instances/{id}/frames/{frame}/image-int16", GetImage<ImageExtractionMode_Int16>);
1095 Register("/instances/{id}/frames/{frame}/matlab", GetMatlabImage); 1109 Register("/instances/{id}/frames/{frame}/matlab", GetMatlabImage);
1110 Register("/instances/{id}/pdf", ExtractPdf);
1096 Register("/instances/{id}/preview", GetImage<ImageExtractionMode_Preview>); 1111 Register("/instances/{id}/preview", GetImage<ImageExtractionMode_Preview>);
1097 Register("/instances/{id}/image-uint8", GetImage<ImageExtractionMode_UInt8>); 1112 Register("/instances/{id}/image-uint8", GetImage<ImageExtractionMode_UInt8>);
1098 Register("/instances/{id}/image-uint16", GetImage<ImageExtractionMode_UInt16>); 1113 Register("/instances/{id}/image-uint16", GetImage<ImageExtractionMode_UInt16>);
1099 Register("/instances/{id}/image-int16", GetImage<ImageExtractionMode_Int16>); 1114 Register("/instances/{id}/image-int16", GetImage<ImageExtractionMode_Int16>);
1100 Register("/instances/{id}/matlab", GetMatlabImage); 1115 Register("/instances/{id}/matlab", GetMatlabImage);