.TH "dsr2html" 1 "Thu Jul 9 2026 18:43:40" "Version 3.7.0" "OFFIS DCMTK" \" -*- nroff -*-
.nh
.SH "نام (NAME)"
dsr2html \- تبدیل و رندر فایل و مجموعهداده DICOM SR به HTML/XHTML
.PP
.SH "خلاصه دستور (SYNOPSIS)"
.PP
.PP
.nf
dsr2html [options] dsrfile-in [htmlfile-out]
.fi
.PP
.SH "توضیحات (DESCRIPTION)"
.PP
ابزار \fBdsr2html\fP محتوای یک سند گزارشدهی ساختاریافته دایکام (DICOM SR) را (در قالب فایل یا مجموعهداده خام) به فرمت HTML (زبان نشانهگذاری ابرمتن) نسخه 3\&.2 یا 4\&.01 و همچنین XHTML (زبان نشانهگذاری ابرمتن توسعهپذیر) نسخه 1\&.1 تبدیل و رندر میکند\&.
.PP
اگر \fBdsr2html\fP یک مجموعهداده خام (دادههای دایکام فاقد فراداده هدر فایل) را بخواند، تلاش میکند سینتکس انتقال (Transfer Syntax) را با بررسی چند بایت اول فایل حدس بزند\&. حدس زدن صحیح سینتکس انتقال همیشه ممکن نیست و بهتر است در صورت امکان، مجموعهداده با استفاده از ابزار \fBdcmconv\fP به قالب فایل استاندارد تبدیل شود\&. همچنین میتوان از گزینههای \fI-f\fP و \fI-t[ieb]\fP برای اجبار \fBdsr2html\fP به خواندن مجموعهداده با یک سینتکس انتقال مشخص استفاده کرد\&.
.SH "پارامترها (PARAMETERS)"
.PP
.PP
.nf
dsrfile-in نام فایل ورودی DICOM SR برای رندر شدن ("-" برای ورودی استاندارد stdin)
htmlfile-out نام فایل خروجی HTML/XHTML (پیشفرض: خروجی استاندارد stdout)
.fi
.PP
.SH "گزینهها (OPTIONS)"
.PP
.SS "گزینههای عمومی (general options)"
.PP
.nf
-h --help
چاپ این متن راهنما و خروج
--version
چاپ اطلاعات نسخه و خروج
--arguments
چاپ آرگومانهای بسطیافته خط فرمان
-q --quiet
حالت بیصدا، عدم چاپ هشدارها و خطاها
-v --verbose
حالت پرگو، چاپ جزئیات پردازش
-d --debug
حالت اشکالزدایی، چاپ اطلاعات دیباگ
-ll --log-level [l]evel: string constant
(fatal, error, warn, info, debug, trace)
استفاده از سطح l برای ثبتکننده گزارش
-lc --log-config [f]ilename: string
استفاده از فایل پیکربندی f برای ثبتکننده گزارش
.fi
.PP
.SS "گزینههای ورودی (input options)"
.PP
.nf
قالب فایل ورودی:
+f --read-file
خواندن قالب فایل یا مجموعهداده (پیشفرض)
+fo --read-file-only
خواندن فقط قالب فایل
-f --read-dataset
خواندن مجموعهداده بدون اطلاعات فراداده فایل
سینتکس انتقال ورودی:
-t= --read-xfer-auto
استفاده از تشخیص خودکار سینتکس انتقال (پیشفرض)
-td --read-xfer-detect
نادیده گرفتن سینتکس انتقال مشخصشده در هدر فایل
-te --read-xfer-little
خواندن با سینتکس انتقال explicit VR little endian
-tb --read-xfer-big
خواندن با سینتکس انتقال explicit VR big endian
-ti --read-xfer-implicit
خواندن با سینتکس انتقال implicit VR little endian
.fi
.PP
.SS "گزینههای پردازش (processing options)"
.PP
.nf
اطلاعات تکمیلی:
-Ip --processing-details
نمایش آیتم محتوایی که هماکنون در حال پردازش است
مدیریت خطا:
-Er --unknown-relationship
پذیرش نوع رابطه ناشناخته یا ناموجود
-Ev --invalid-item-value
پذیرش مقدار نامعتبر برای آیتم محتوا
(برای مثال، نقض تعریف VR یا VM)
-Ec --ignore-constraints
نادیده گرفتن محدودیتهای محتوایی رابطه
-Ee --ignore-item-errors
عدم توقف در صورت بروز خطای آیتم محتوا، فقط هشدار دادن
(برای مثال، عدم وجود مشخصههای خاص نوع مقدار)
-Ei --skip-invalid-items
رد کردن آیتمهای محتوای نامعتبر (شامل زیردرخت آنها)
-Dv --disable-vr-checker
غیرفعال کردن بررسی انطباق مقادیر رشتهای با VR
مجموعه نویسههای خاص (specific character set):
+Cr --charset-require
الزام اعلام مجموعه نویسه توسعهیافته (پیشفرض)
+Ca --charset-assume [c]harset: string
فرض کردن مجموعه نویسه c در صورت عدم اعلام مجموعه نویسه توسعهیافته
--charset-check-all
بررسی تمام عناصر داده با مقادیر رشتهای
(پیشفرض: فقط PN, LO, LT, SH, ST, UC و UT)
# این گزینه فقط برای بررسی توسعهیافته جهت لزوم حضور
# مشخصه Specific Character Set (0008,0005) استفاده میشود،
# اما برای تبدیل مقادیر عناصر نامتأثر به UTF-8 کاربرد ندارد
# (مانند مقادیر عنصری با VR از نوع CS)
+U8 --convert-to-utf8
تبدیل تمام مقادیر عناصر متأثر از
Specific Character Set (0008,0005) به UTF-8
# نیازمند پشتیبانی از سوی کتابخانه کدگذاری نویسه زیرین است
# (برای اطلاع از اینکه کدامیک موجود است، به خروجی --version مراجعه کنید)
.fi
.PP
.SS "گزینههای خروجی (output options)"
.PP
.nf
سازگاری HTML/XHTML:
+H3 --html-3\&.2
استفاده از ویژگیهای سازگار با HTML نسخه 3\&.2 تنها
+H4 --html-4\&.0
مجاز دانستن تمام ویژگیهای HTML نسخه 4\&.01 (پیشفرض)
+X1 --xhtml-1\&.1
انطباق با مشخصات XHTML نسخه 1\&.1
+Hd --add-document-type
افزودن ارجاع به تعریف نوع سند SGML
شیوهنامه آبشاری (CSS)، همراه با HTML 3\&.2 قابل استفاده نیست:
+Sr --css-reference URL: string
افزودن ارجاع به CSS مشخصشده در سند
+Sf --css-file [f]ilename: string
قراردادن مستقیم محتوای CSS مشخصشده درون سند
رندر عمومی:
+Ri --expand-inline
بسط آیتمهای محتوای کوتاه درونخطی (پیشفرض)
-Ri --never-expand-inline
هرگز بسط ندادن آیتمهای محتوا به صورت درونخطی
+Ra --always-expand-inline
همیشه بسط دادن آیتمهای محتوا به صورت درونخطی
+Rd --render-full-data
رندر کامل دادههای آیتمهای محتوا
+Rt --section-title-inline
رندر عنوانهای بخش به صورت درونخطی، نه جداگانه
+Rh --hyperlink-url-prefix [p]refix: string
استفاده از پیشوند URL p برای پیوندها به اشیاء ترکیبی
(پیشفرض: http://localhost/dicom\&.cgi)
رندر سند:
+Dt --document-type-title
استفاده از نوع سند به عنوان عنوان سند (پیشفرض)
+Dp --patient-info-title
استفاده از اطلاعات بیمار به عنوان عنوان سند
-Dh --no-document-header
عدم رندر اطلاعات عمومی سند
رندر کدها:
+Ci --render-inline-codes
رندر کدها در بلوکهای متنی پیوسته
+Cn --concept-name-codes
رندر کد نامهای مفهوم (Concept Names)
+Cu --numeric-unit-codes
رندر کد واحدهای سنجش عددی
+Cv --code-value-unit
استفاده از مقدار کد به عنوان واحد سنجش (پیشفرض)
+Cm --code-meaning-unit
استفاده از مفهوم کد به عنوان واحد سنجش
+Cc --render-all-codes
رندر تمام کدها (شامل +Ci، +Cn و +Cu)
+Ct --code-details-tooltip
رندر جزئیات کد به صورت تولتیپ (راهنمای شناور) (شامل +Cc)
.fi
.PP
.SH "نکات (NOTES)"
.PP
.SS "انطباق با دایکام (DICOM Conformance)"
ابزار \fBdsr2html\fP از کلاسهای SOP زیر پشتیبانی میکند:
.PP
.PP
.nf
SpectaclePrescriptionReportStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.78\&.6
MacularGridThicknessAndVolumeReportStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.79\&.1
BasicTextSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.11
EnhancedSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.22
ComprehensiveSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.33
Comprehensive3DSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.34
ProcedureLogStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.40
MammographyCADSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.50
KeyObjectSelectionDocumentStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.59
ChestCADSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.65
XRayRadiationDoseSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.67
RadiopharmaceuticalRadiationDoseSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.68
ColonCADSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.69
ImplantationPlanSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.70
AcquisitionContextSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.71
SimplifiedAdultEchoSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.72
PatientRadiationDoseSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.73
PlannedImagingAgentAdministrationSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.74
PerformedImagingAgentAdministrationSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.75
WaveformAnnotationSRStorage 1\&.2\&.840\&.10008\&.5\&.1\&.4\&.1\&.1\&.88\&.77
RenditionSelectionDocumentRealTimeCommunication 1\&.2\&.840\&.10008\&.10\&.4 (*)
.fi
.PP
.PP
(*) این یک کلاس SOP ذخیرهسازی نیست، بلکه برای ارتباطات بیدرنگ (Real-Time) استفاده میشود\&.
.SS "کدگذاری نویسهها (Character Encoding)"
کدگذاری HTML/XHTML به صورت خودکار از مشخصه دایکام (0008,0005) با عنوان "Specific Character Set" و با استفاده از نگاشت زیر تعیین میشود:
.PP
.PP
.nf
ASCII (ISO_IR 6) => (none)
UTF-8 "ISO_IR 192" => "UTF-8"
ISO Latin 1 "ISO_IR 100" => "ISO-8859-1"
ISO Latin 2 "ISO_IR 101" => "ISO-8859-2"
ISO Latin 3 "ISO_IR 109" => "ISO-8859-3"
ISO Latin 4 "ISO_IR 110" => "ISO-8859-4"
ISO Latin 5 "ISO_IR 148" => "ISO-8859-9"
ISO Latin 9 "ISO_IR 203" => "ISO-8859-15"
Cyrillic "ISO_IR 144" => "ISO-8859-5"
Arabic "ISO_IR 127" => "ISO-8859-6"
Greek "ISO_IR 126" => "ISO-8859-7"
Hebrew "ISO_IR 138" => "ISO-8859-8"
Thai "ISO_IR 166" => "TIS-620"
Japanese "ISO 2022 IR 13\\ISO 2022 IR 87" => "ISO-2022-JP"
Korean "ISO 2022 IR 6\\ISO 2022 IR 149" => "ISO-2022-KR"
Chinese "ISO 2022 IR 6\\ISO 2022 IR 58" => "ISO-2022-CN"
Chinese "GB18030" => "GB18030"
Chinese "GBK" => "GBK"
.fi
.PP
.PP
اگر این مشخصه دایکام در فایل ورودی موجود نباشد، با وجود اینکه به آن نیاز باشد، میتوان از گزینه \fI--charset-assume\fP برای مشخص کردن دستی یک مجموعه نویسه مناسب (با استفاده از اصطلاحات تعریفشده دایکام) استفاده کرد\&. به دلایل سازگاری عقبروی با نسخههای پیشین این ابزار، اصطلاحات زیر نیز پشتیبانی شده و به صورت خودکار به اصطلاحات تعریفشده دایکام نگاشت میشوند: latin-1, latin-2, latin-3, latin-4, latin-5, latin-9, cyrillic, arabic, greek, hebrew\&.
.PP
گزینه \fI--convert-to-utf8\fP را میتوان برای تبدیل فایل یا مجموعهداده دایکام به کدگذاری UTF-8 پیش از رندر به قالب HTML/XHTML استفاده کرد\&.
.SS "امنیت (Security)"
لطفاً توجه داشته باشید که استفاده از گزینههای \fI--css-reference\fP، \fI--css-file\fP یا \fI--hyperlink-url-prefix\fP میتواند منجر به مسائل امنیتی شود، زیرا ممکن است مهاجم از آنها برای تزریق محتوای خطرناک به خروجی HTML/XHTML سوءاستفاده کند\&. مقادیر ارائهشده به این گزینهها بررسی نمیشوند؛ نه URL و پیشوند آن و نه محتوای فایل CSS تعیینشده\&.
.SH "ثبت گزارشها (LOGGING)"
.PP
سطح جزئیات خروجی ثبت گزارشهای (logging) ابزارهای خط فرمان گوناگون و کتابخانههای زیرین توسط کاربر قابل تعیین است\&. به طور پیشفرض، تنها خطاها و هشدارها در جریان خطای استاندارد (stderr) نوشته میشوند\&. با استفاده از گزینه \fI--verbose\fP پیامهای اطلاعرسانی مانند جزئیات پردازش نیز گزارش میشوند\&. گزینه \fI--debug\fP را میتوان برای دریافت جزئیات بیشتر درباره فعالیتهای درونی (مثلاً برای اهداف اشکالزدایی) به کار برد\&. سایر سطوح گزارشگیری را میتوان با استفاده از گزینه \fI--log-level\fP انتخاب کرد\&. در حالت \fI--quiet\fP فقط خطاهای مهلک گزارش میشوند\&. در چنین رویدادهای خطای بسیار شدیدی، برنامه معمولاً متوقف خواهد شد\&. برای جزئیات بیشتر در مورد سطوح مختلف ثبت گزارش، به مستندات ماژول "oflog" مراجعه کنید\&.
.PP
در صورتی که خروجی گزارشگیری باید در فایل ذخیره شود (اختیاری با چرخش فایل گزارش)، به syslog (در یونیکس) یا event log (در ویندوز) فرستاده شود، میتوان از گزینه \fI--log-config\fP استفاده کرد\&. این فایل پیکربندی همچنین امکان هدایت پیامهای خاص به جریان خروجی مشخص و فیلتر کردن پیامها بر اساس ماژول یا برنامهای که در آن ایجاد شدهاند را فراهم میکند\&. یک نمونه فایل پیکربندی در مسیر \fI/logger\&.cfg\fP ارائه شده است\&.
.SH "خط فرمان (COMMAND LINE)"
.PP
تمامی ابزارهای خط فرمان از نمادگذاری زیر برای پارامترها استفاده میکنند: کروشهها مقادیر اختیاری را در بر میگیرند (0-1)، سه نقطه پایانی نشاندهنده مجاز بودن چندین مقدار است (1-n)، و ترکیبی از هر دو به معنای 0 تا n مقدار است\&.
.PP
گزینههای خط فرمان با علامت پیشوند '+' یا '-' از پارامترها متمایز میشوند\&. معمولاً ترتیب و موقعیت گزینههای خط فرمان اختیاری است (یعنی میتوانند در هر جایی ظاهر شوند)\&. با این حال، اگر گزینهها مانعةالجمع باشند، آخرین گزینه از سمت راست اعمال میشود\&. این رفتار با قوانین ارزیابی استاندارد پوستههای متداول یونیکس مطابقت دارد\&.
.PP
علاوه بر این، یک یا چند فایل حاوی دستور را میتوان با پیشوند '@' قبل از نام فایل مشخص کرد (برای مثال \fI@command\&.txt\fP)\&. چنین آرگومان فرمانی قبل از هرگونه ارزیابی بیشتر، با محتوای فایل متنی متناظر جایگزین میشود (فاصلههای متوالی مگر در میان نقلقولها، به عنوان یک جداکننده واحد در نظر گرفته میشوند)\&. لطفاً توجه داشته باشید که یک فایل فرمان نمیتواند شامل فایل فرمان دیگری باشد\&. این رویکرد ساده اما کارآمد امکان خلاصه کردن ترکیبهای متداول گزینهها/پارامترها را فراهم کرده و از طولانی و گیجکننده شدن خطوط فرمان جلوگیری میکند (یک نمونه در فایل \fI/dumppat\&.txt\fP ارائه شده است)\&.
.SH "محیط (ENVIRONMENT)"
.PP
ابزار \fBdsr2html\fP تلاش میکند دیکشنریهای داده دایکام مشخصشده در متغیر محیطی \fIDCMDICTPATH\fP را بارگذاری کند\&. به طور پیشفرض، یعنی اگر متغیر محیطی \fIDCMDICTPATH\fP تنظیم نشده باشد، فایل \fI/dicom\&.dic\fP بارگذاری خواهد شد مگر اینکه دیکشنری به صورت توکار در برنامه گنجانده شده باشد (پیشفرض برای ویندوز)\&.
.PP
رفتار پیشفرض ارجح است و از متغیر محیطی \fIDCMDICTPATH\fP باید تنها زمانی استفاده شود که دیکشنریهای داده جایگزین مورد نیاز باشند\&. متغیر محیطی \fIDCMDICTPATH\fP ساختاری مشابه متغیر \fIPATH\fP در پوسته یونیکس دارد که در آن دو نقطه (":") ورودیها را جدا میکند\&. در سیستمهای ویندوز، از نقطه ویرگول (";") به عنوان جداکننده استفاده میشود\&. کد دیکشنری داده تلاش میکند هر فایل مشخصشده در متغیر محیطی \fIDCMDICTPATH\fP را بارگذاری کند\&. اگر هیچ دیکشنری دادهای بارگذاری نشود، یک خطا رخ خواهد داد\&.
.PP
بسته به گزینههای خط فرمان مشخصشده، ابزار \fBdsr2html\fP تلاش میکند جدولهای نگاشت مجموعه نویسه را بارگذاری کند\&. این اتفاق زمانی رخ میدهد که DCMTK با کتابخانه oficonv کامپایل شده باشد (که حالت پیشفرض است) و جدولهای نگاشت در کتابخانه به صورت توکار نباشند (پیشفرض در زمانی که DCMTK از کتابخانههای مشترک shared libraries استفاده میکند)\&.
.PP
فایلهای جدول نگاشت در مسیر \fI\fP متعلق به DCMTK مورد انتظار هستند\&. متغیر محیطی \fIDCMICONVPATH\fP را میتوان برای تعیین یک مسیر دیگر به کار برد\&. در صورت تعیین مسیری متفاوت، آن جدولهای نگاشت جایگزین هرگونه جدول توکار نیز خواهند شد\&.
.SH "فایلها (FILES)"
.PP
\fI/report\&.css\fP \- نمونه فایل شیوهنامه آبشاری برای HTML
.br
\fI/reportx\&.css\fP \- نمونه فایل شیوهنامه آبشاری برای XHTML
.SH "همچنین ببینید (SEE ALSO)"
.PP
\fBdcmconv\fP(1)
.SH "حق نشر (COPYRIGHT)"
.PP
Copyright (C) 2000-2025 by OFFIS e\&.V\&., Escherweg 2, 26121 Oldenburg, Germany\&.