Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie plików RTF [Vir]
scanner
post
Post #1





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Opinie na temat artykułu "Generowanie plików RTF"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Vir
post
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 25.02.2004

Ostrzeżenie: (0%)
-----


W związku z tym, że docierały do mnie w ostatnim czasie pytania (na PW) dotyczące różnych zagadnień z zakresu generowania dokumentów RTF postanowiłem niniejszym przedstawić publicznie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) rozwiązania dwóch problemów poruszanych przez użytkowników do mnie piszących.
Przy okazji zwracam się z prośbą o nie pisanie w przyszłości PW z zapytaniem dotyczącym generowania dokumentu RTF, a umieszczanie go na forum, w tym wątku, tak aby inni mogli później skorzystać z udzielonej odpowiedzi.

Pierwsze zapytanie dotyczło formatowania tekstu. Odpowiedź: W celu sformatowania tekstu w generowanym dokumencie RTF należy zastosować polecenia formatujące (do znalezienia w specyfikacji RTF). Listę podstawowych poleceń formatujących przedstawiam poniżej:
\i kursywa
\b pogrubienie
\ul podkreślenie
\super indeks górny
\sub indeks dolny
\strike przekreślenie.

Kolejną poruszaną kwestią było wstawienie obrazka do dokumentu RTF.

Przykład wstawienia obrazka .gif to wywołanie funkcją echo wartości hex danego pliku graficznego poprzedzonej funkcją RTF deklarującą wstawiany typ danych:
  1. <?php echo &#092;"{pict pngblip 2sfjssfs9sfm00000000sf0034}\"; ?>

Wstawiona wyżej wartość hex jest przypadkowa. Podany przykład ma za zadanie wyświetlenie pliku .gif. Więcej szczegółow w specyfikacji.
Dodam tylko, że takie wstawianie obrazków ma sens jedynie wówczas, gdy objętość pliku graficznego jest niewielka. W przypadku wstawienia obrazka .jpg o objętości 12KB objętość całego pliku RTF rośnie do ok. 400 KB...

Jeżeli ktoś będzie potrzebował sposobu na konwersję pliku graficznego na wartość hex to poniżej zamieszczam źródło prostego pliku, którego wykonuje taką konwersję. Jego działanie sprowadza się do użycia funkcji bin2hex().

  1. <html>
  2. <head>
  3. <title>Bin2Hex</title>
  4. <style type=\"text/css\">
  5. body
  6.  {
  7. background-color: #f6f6f6;
  8. font-family: Verdana, monospace;
  9. font-size: 12px;
  10.  }
  11.  
  12. a
  13.  {
  14. color: #000000;
  15. text-decoration: none;
  16.  }
  17.  
  18. a:hover
  19.  {
  20. color: #696969;
  21.  }
  22.  
  23. </style>
  24. <script type=\"text/javascript\">
  25.  
  26. function zaznacz()
  27.  {
  28. document.getElementById('hex').select();
  29.  }
  30.  
  31. </script>
  32. </head>
  33. <body>
  34. <h5>Konwersja pliku to wartości hex</h5>
  35. <form enctype=\"multipart/form-data\" action=\"bin2hex.php\" method=\"post\">
  36. Plik do konwersji: <input name=\"file\" type=\"file\">
  37. <input type=\"submit\" value=\"Konwertuj\">
  38. <br /><br />
  39. <textarea cols=\"80\" rows=\"26\" id=\"hex\"><?php
  40.  
  41. if ( is_uploaded_file( @$_FILES['file']['tmp_name'] ) )
  42.  
  43. {
  44. $filename = $_FILES['file']['tmp_name'];
  45. $fd = fopen ($filename , &#092;"r\" );
  46. $data = fread ( $fd, filesize ( $filename ) );
  47. fclose ( $fd );
  48. print bin2hex($data);
  49. }
  50.  
  51. ?></textarea>
  52. </form>
  53. <a href=\"javascript:zaznacz()\">Zaznacz wszystko</a>
  54. </body>
  55. </html>


Ten post edytował Vir 5.07.2004, 16:26:49
Go to the top of the page
+Quote Post

Posty w temacie
- scanner   Generowanie plików RTF [Vir]   6.04.2004, 08:30:32
- - migacz   pętla w tabeli   15.04.2004, 13:46:52
- - makay   Mama problemy z tworzeniem tego rtf wyskakuje mi ...   19.04.2004, 12:29:54
- - Vir   Sorki, że tak późno się odzywam i bez gotowych odp...   20.04.2004, 17:17:45
- - Vir   Hi! Na początek małe sprostowanie do arykułu ...   22.04.2004, 02:02:55
- - migacz   dzięki za odpowiedź. pocztalem troche o rtfie i po...   27.04.2004, 11:11:09
- - pieto   Witam, Może ktoś wymyśli sposób żeby rtfa można by...   5.05.2004, 15:22:42
- - Vir   Nie ma możliwości zapisania takiego pliku we wskaz...   5.05.2004, 17:11:26
- - pieto   Ok, dzięki, to chyba się nie przyda   5.05.2004, 17:45:04
- - Vir   W związku z tym, że docierały do mnie w ostatnim c...   1.06.2004, 22:20:34
- - oksi   Generowanie plików RTF [Vir]   4.06.2004, 00:31:54
- - Vir   Cytatzapisuje po wszytkich modyfikacjach ten plik ...   4.06.2004, 14:17:32
- - oksi   Jak sformatowac wyniki zapytania z bazy w postaci ...   5.06.2004, 18:24:28
- - Vir   Ciekawe pytanie Przez najbliższe 2 tygodnie mogę ...   8.06.2004, 17:53:11
- - oksi   dzieki za wskazowki, sprobuje cos pobrobowac. poz...   9.06.2004, 18:31:32
- - Kiler   mam pytanie o konfiguracje serwera przy tych plika...   29.06.2004, 11:30:46
- - Vir   AddType jest to dyrektywa w Apache'u za pośred...   5.07.2004, 16:20:59
- - samolot   Witam Wwszystkich . Jestem u Was nowy. Znalazłem ...   9.04.2007, 19:08:14
- - phpion.com   http://wortal.php.pl/phppl/wortal/artykuly...anie_...   10.04.2007, 22:07:20
- - wert1   pytanie nie do tego tematu : jak Vir zrobił dwa po...   20.04.2007, 14:58:26
- - pschemo   Witam, bardzo zaciekawił mnie ten artykuł =] Zrob...   7.05.2007, 11:36:25


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 10:56