ConvertTab.vue 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <template>
  2. <div class="fit sets-tab-panel">
  3. <!---------------------------------------------->
  4. <div class="q-mt-sm column items-center">
  5. <span>Настройки конвертирования применяются ко всем</span>
  6. <span>вновь загружаемым или обновляемым файлам</span>
  7. </div>
  8. <!---------------------------------------------->
  9. <div class="sets-part-header">
  10. HTML, XML, TXT
  11. </div>
  12. <div class="sets-item row">
  13. <div class="sets-label label">
  14. Текст
  15. </div>
  16. <div class="col row">
  17. <q-checkbox v-model="form.splitToPara" size="xs" label="Попытаться разбить текст на параграфы">
  18. <q-tooltip :delay="1000" anchor="top middle" self="bottom middle" content-style="font-size: 80%">
  19. Опция принудительно включает эвристику разбиения текста на<br>
  20. параграфы в случае, если формат файла определен как html,<br>
  21. xml или txt. Возможна нечитабельная разметка текста.
  22. </q-tooltip>
  23. </q-checkbox>
  24. </div>
  25. </div>
  26. <div class="sets-item row">
  27. <div class="sets-label label">
  28. Сайты
  29. </div>
  30. <div class="col row">
  31. <q-checkbox v-model="form.enableSitesFilter" size="xs" label="Включить html-фильтр для сайтов">
  32. <q-tooltip :delay="1000" anchor="top middle" self="bottom middle" content-style="font-size: 80%">
  33. Html-фильтр вырезает лишние элементы со<br>
  34. страницы для определенных сайтов, таких как:<br>
  35. samlib.ru<br>
  36. www.fanfiction.net<br>
  37. archiveofourown.org<br>
  38. и других
  39. </q-tooltip>
  40. </q-checkbox>
  41. </div>
  42. </div>
  43. <!---------------------------------------------->
  44. <div v-if="isExternalConverter">
  45. <div class="sets-part-header">
  46. PDF
  47. </div>
  48. <div class="sets-item row">
  49. <div class="sets-label label">
  50. Формат
  51. </div>
  52. <div class="col row">
  53. <q-checkbox v-model="form.pdfAsText" size="xs" label="Извлекать текст из PDF">
  54. <q-tooltip :delay="1000" anchor="top middle" self="bottom middle" content-style="font-size: 80%">
  55. Пытается извлечь текст из pdf-файла и переразбить на параграфы.<br>
  56. Размер получаемого fb2-файла при этом относительно небольшой.<br>
  57. При отключении этой опции, pdf будет представлен как набор<br>
  58. изображений (аналогично ковертированию djvu).
  59. </q-tooltip>
  60. </q-checkbox>
  61. </div>
  62. </div>
  63. <div v-if="!form.pdfAsText" class="sets-item row">
  64. <div class="sets-label label">
  65. Качество
  66. </div>
  67. <div class="col row">
  68. <NumInput v-model="form.pdfQuality" bg-color="input" class="col-5" :min="10" :max="100">
  69. <q-tooltip :delay="1000" anchor="top middle" self="bottom middle" content-style="font-size: 80%">
  70. Качество конвертирования Pdf в Fb2. Чем значение выше, тем больше<br>
  71. размер итогового файла. Если сервер отказывается конвертировать<br>
  72. слишком большой файл, то попробуйте понизить качество.
  73. </q-tooltip>
  74. </NumInput>
  75. </div>
  76. </div>
  77. </div>
  78. <!---------------------------------------------->
  79. <div v-if="isExternalConverter">
  80. <div class="sets-part-header">
  81. DJVU
  82. </div>
  83. <div class="sets-item row">
  84. <div class="sets-label label">
  85. Качество
  86. </div>
  87. <div class="col row">
  88. <NumInput v-model="form.djvuQuality" bg-color="input" class="col-5" :min="10" :max="100">
  89. <q-tooltip :delay="1000" anchor="top middle" self="bottom middle" content-style="font-size: 80%">
  90. Качество конвертирования Djvu в Fb2. Чем значение выше, тем больше<br>
  91. размер итогового файла. Если сервер отказывается конвертировать<br>
  92. слишком большой файл, то попробуйте понизить качество.
  93. </q-tooltip>
  94. </NumInput>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. </template>
  100. <script>
  101. //-----------------------------------------------------------------------------
  102. import vueComponent from '../../../vueComponent.js';
  103. import NumInput from '../../../share/NumInput.vue';
  104. const componentOptions = {
  105. components: {
  106. NumInput
  107. },
  108. };
  109. class ConvertTab {
  110. _options = componentOptions;
  111. _props = {
  112. form: Object,
  113. };
  114. created() {
  115. }
  116. mounted() {
  117. }
  118. get isExternalConverter() {
  119. return this.$store.state.config.useExternalBookConverter;
  120. }
  121. }
  122. export default vueComponent(ConvertTab);
  123. //-----------------------------------------------------------------------------
  124. </script>
  125. <style scoped>
  126. .label {
  127. width: 75px;
  128. }
  129. </style>