extractpdfmark-vl.spec 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. %define name extractpdfmark
  2. %define version 1.0.2
  3. %define release 3%{?_dist_release}
  4. Summary: Extract page mode and named destinations as PDFmark from PDF
  5. Summary(ja): PDFからページモードやリンクの宛先名を抽出しPDFmarkとして保存する
  6. Name: %{name}
  7. Version: %{version}
  8. Release: %{release}
  9. Source0: https://github.com/trueroad/extractpdfmark/releases/download/v%{version}/%{name}-%{version}.tar.gz
  10. License: GPLv3+
  11. Group: Applications/Publishing
  12. URL: http://poppler.freedesktop.org/%{name}-%{version}.tar.xz
  13. BuildRequires: poppler-devel
  14. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  15. Vendor: Project Vine
  16. Distribution: Vine Linux
  17. %description
  18. When you create a PDF document using a TeX system,
  19. you may include many small PDF files in the main PDF file.
  20. It is common for each of those files to use the same fonts.
  21. If the small PDF files contain embedded font subsets,
  22. the TeX system includes them as-is in the main PDF.
  23. As a result, several subsets of the same font are embedded
  24. in the main PDF. It is not possible to remove the duplicates
  25. since they are different subsets. This vastly increases
  26. the size of the main PDF file.
  27. On the other hand, if the small PDF files contain embedded
  28. full font sets, the TeX system also includes all of them
  29. in the main PDF. This time, the main PDF contains duplicates
  30. of the same full sets of fonts.
  31. Therefore, Ghostscript can remove the duplicates.
  32. This may considerably reduce the main PDF-file's size.
  33. #'
  34. Finally, if the small PDF files contain some fonts
  35. that are not embedded, the TeX system outputs the main PDF file
  36. with some fonts missing. In this case, Ghostscript can embed
  37. the necessary fonts. It can significantly reduce the required
  38. disk size.
  39. Either way, when Ghostscript reads the main PDF produced
  40. by the TeX system and outputs the final PDF it does not
  41. preserve PDF page-mode and named-destinations etc.
  42. As a result, when you open the final PDF, it is not displayed
  43. correctly. Also, remote PDF links will not work.
  44. This program is able to extract page mode and named destinations
  45. as PDFmark from PDF. By using this you can get the small PDF
  46. files that have preserved them.
  47. %description -l ja
  48. TeX のようなシステムを使って PDF のドキュメントを作る場合、
  49. 図としてたくさんの小さな PDF を用意して、メインの PDF に
  50. 貼り付けるようなことが行われます。このとき、図の PDF では
  51. 同じフォントを使っていることが多いと思います。
  52. 図の PDF にフォントのサブセットが埋め込まれていた場合、
  53. TeX システムはそのフォントをそのままメインの PDF に埋め込みます。
  54. 結果として、メイン PDF には重複した同じフォントの異なる
  55. サブセットが埋め込まれます。サブセットが異なるため重複した
  56. フォントを削除することはできません。
  57. よってメイン PDF のファイルサイズは、かなり大きくなってしまいます。
  58. 一方、図の PDF にフォントをフルセットで埋め込んだ場合、
  59. TeX システムはフルセットのフォントをメインの PDF へ埋め込みます。
  60. メイン PDF にはたくさんの重複したフォントが埋め込まれますが、
  61. すべて同じフルセットのフォントです。そのため、Ghostscript
  62. を使えば重複を削除することができ、これによってメイン PDF
  63. のサイズを低減することができます。
  64. さらに、図の PDF に一切フォントを埋め込まなかった場合、
  65. TeX システムはフォントが欠けたメイン PDF を出力します。
  66. この場合、Ghostscript は必要なフォントを埋め込むことができるので、
  67. 必要なディスク容量を劇的に減らすことができるようになります。
  68. いずれの方法でも、Ghostscript へ TeX システムの出力した
  69. メイン PDF を入力し、最終的な PDF を出力することになります。
  70. しかし、残念ながら、この処理で Ghostscript は PDF のページモードや
  71. リンクの宛先名を残してくれません。そのため、最終的な PDF は
  72. 意図したとおりに開かれなかったり、リモートからのリンクが機能
  73. しなくなったりしてしまいます。
  74. Extract PDFmark は PDF からページモードやリンクの宛先名を抽出し、
  75. PDFmark として保存することができます。このツールを使うと、
  76. ページモードやリンク先名を残したまま、サイズの小さい PDF を得る
  77. ことができます。
  78. %prep
  79. %setup -q
  80. %build
  81. %configure
  82. %{__make} %{?_smp_mflags}
  83. %install
  84. %{__rm} -rf ${RPM_BUILD_ROOT}
  85. %makeinstall
  86. %{__rm} -rf ${RPM_BUILD_ROOT}%{_docdir}/%{name}
  87. %clean
  88. %{__rm} -rf ${RPM_BUILD_ROOT}
  89. %files
  90. %defattr(-,root,root)
  91. %doc COPYING README.ja.md README.md
  92. %{_bindir}/
  93. %{_mandir}/man1/
  94. %changelog
  95. * Wed Jan 03 2018 Toshiaki Ara <ara_t@384.jp> 1.0.2-3
  96. - rebuild under poppler-0.61.1
  97. * Thu Nov 30 2017 Toshiaki Ara <ara_t@384.jp> 1.0.2-2
  98. - correct Group
  99. * Thu Nov 30 2017 Toshiaki Ara <ara_t@384.jp> 1.0.2-1
  100. - initial build for Vine Linux