Mercurial > hg > orthanc
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); |