Mercurial > hg > orthanc
diff 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 |
line wrap: on
line diff
--- a/OrthancServer/OrthancRestApi/OrthancRestResources.cpp Thu Aug 20 15:18:13 2015 +0200 +++ b/OrthancServer/OrthancRestApi/OrthancRestResources.cpp Thu Aug 20 17:05:05 2015 +0200 @@ -1050,6 +1050,20 @@ } + static void ExtractPdf(RestApiGetCall& call) + { + const std::string id = call.GetUriComponent("id", ""); + + std::string pdf; + ServerContext::DicomCacheLocker locker(OrthancRestApi::GetContext(call), id); + + if (locker.GetDicom().ExtractPdf(pdf)) + { + call.GetOutput().AnswerBuffer(pdf, "application/pdf"); + return; + } + } + void OrthancRestApi::RegisterResources() { @@ -1093,6 +1107,7 @@ Register("/instances/{id}/frames/{frame}/image-uint16", GetImage<ImageExtractionMode_UInt16>); Register("/instances/{id}/frames/{frame}/image-int16", GetImage<ImageExtractionMode_Int16>); Register("/instances/{id}/frames/{frame}/matlab", GetMatlabImage); + Register("/instances/{id}/pdf", ExtractPdf); Register("/instances/{id}/preview", GetImage<ImageExtractionMode_Preview>); Register("/instances/{id}/image-uint8", GetImage<ImageExtractionMode_UInt8>); Register("/instances/{id}/image-uint16", GetImage<ImageExtractionMode_UInt16>);