{\rtf1\ansi\ansicpg1252\cocoartf1671\cocoasubrtf600
{\fonttbl\f0\fmodern\fcharset0 Courier;}
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;}
{\*\expandedcolortbl;;\cssrgb\c0\c0\c0;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\deftab720
\pard\pardeftab720\partightenfactor0

\f0\fs26 \cf0 \expnd0\expndtw0\kerning0
\
-- DROP PROCEDURE sql2pdf\
CREATE PROCEDURE sql2pdf\
   @filename VARCHAR(100) \
AS \
  CREATE TABLE #pdf (idnumber INT IDENTITY(1,1)\
  		    ,code NVARCHAR(200))\
  CREATE TABLE #xref (idnumber INT IDENTITY(1,1)\
  		    ,code VARCHAR(30))\
  CREATE TABLE #text (idnumber INT IDENTITY(1,1)\
  		    ,code VARCHAR(200))\
\
  DECLARE @end VARCHAR(7),\
  	@beg   VARCHAR(7),\
  	@a1    VARCHAR(3),\
  	@a2    VARCHAR(3),\
  	@ad    VARCHAR(5),\
  	@cr    VARCHAR(8),\
  	@pr    VARCHAR(9),\
  	@ti    VARCHAR(6),\
  	@xstr  VARCHAR(10),\
  	@page  VARCHAR(8000),\
	@pdf   VARCHAR(100),\
	@trenutniRed NVARCHAR(200),\
  	@rows   INT,\
  	@ofset  INT,\
  	@len    INT,\
  	@nopg   INT,\
        @fs 	INT,\
	@ole    INT,\
	@x 	INT,\
	@file   INT,\
  	@object INT\
  SELECT @pdf = 'C:\\' + @filename + '.pdf'  \
  SET @page = ''\
  SET @nopg = 0\
  SET @object = 6\
  SET @end = 'endobj'\
  SET @beg = ' 0 obj'\
  SET @a1 = '<<'\
  SET @a2 = '>>'\
  SET @ad = ' 0 R'\
  SET @cr = CHAR(67) + CHAR(114) + CHAR (101) + CHAR(97) + CHAR(116) + CHAR (111) + CHAR(114)\
  SET @pr = CHAR(80) + CHAR(114) + CHAR (111) + CHAR(100) + CHAR(117) + CHAR (99 ) + CHAR(101) + CHAR(114)\
  SET @ti = CHAR(84) + CHAR(105) + CHAR (116) + CHAR(108) + CHAR(101)\
  SET @xstr = ' 00000 n'\
  SET @ofset = 396  \
  INSERT INTO #xref(code) VALUES ('xref')\
  INSERT INTO #xref(code) VALUES ('0 10')\
  INSERT INTO #xref(code) VALUES ('0000000000 65535 f')\
  INSERT INTO #xref(code) VALUES ('0000000017' + @xstr)\
  INSERT INTO #xref(code) VALUES ('0000000790' + @xstr)\
  INSERT INTO #xref(code) VALUES ('0000000869' + @xstr)\
  INSERT INTO #xref(code) VALUES ('0000000144' + @xstr)\
  INSERT INTO #xref(code) VALUES ('0000000247' + @xstr)\
  INSERT INTO #xref(code) VALUES ('0000000321' + @xstr)\
  INSERT INTO #xref(code) VALUES ('0000000396' + @xstr)  \
  INSERT INTO #pdf (code) VALUES ('%' + CHAR(80) + CHAR(68) + CHAR (70) + '-1.2')\
  INSERT INTO #pdf (code) VALUES ('%\'d3\'d3\'d3\'d3')\
  INSERT INTO #pdf (code) VALUES ('1' + @beg)\
  INSERT INTO #pdf (code) VALUES (@a1)\
  INSERT INTO #pdf (code) VALUES ('/' + @cr + ' (Ivica Masar ' + CHAR(80) + CHAR(83) + CHAR (79) + CHAR(80) + CHAR(68) + CHAR (70) + ')')\
  INSERT INTO #pdf (code) VALUES ('/' + @pr + ' (stored procedure for ms sql  pso@vip.hr)')\
  INSERT INTO #pdf (code) VALUES ('/' + @ti + ' (SQL2' + CHAR(80) + CHAR(68) + CHAR (70) + ')')\
  INSERT INTO #pdf (code) VALUES (@a2)\
  INSERT INTO #pdf (code) VALUES (@end)\
  INSERT INTO #pdf (code) VALUES ('4' + @beg)\
  INSERT INTO #pdf (code) VALUES (@a1)\
  INSERT INTO #pdf (code) VALUES ('/Type /Font')\
  INSERT INTO #pdf (code) VALUES ('/Subtype /Type1')\
  INSERT INTO #pdf (code) VALUES ('/Name /F1')\
  INSERT INTO #pdf (code) VALUES ('/Encoding 5' + @ad)\
  INSERT INTO #pdf (code) VALUES ('/BaseFont /Courier')\
  INSERT INTO #pdf (code) VALUES (@a2)\
  INSERT INTO #pdf (code) VALUES (@end)\
  INSERT INTO #pdf (code) VALUES ('5' + @beg)\
  INSERT INTO #pdf (code) VALUES (@a1)\
  INSERT INTO #pdf (code) VALUES ('/Type /Encoding')\
  INSERT INTO #pdf (code) VALUES ('/BaseEncoding /WinAnsiEncoding')\
  INSERT INTO #pdf (code) VALUES (@a2)\
  INSERT INTO #pdf (code) VALUES (@end)\
  INSERT INTO #pdf (code) VALUES ('6' + @beg)\
  INSERT INTO #pdf (code) VALUES (@a1)\
  INSERT INTO #pdf (code) VALUES ('  /Font ' + @a1 + ' /F1 4' + @ad + ' ' + @a2 + '  /ProcSet [ /' + CHAR(80) + CHAR(68) + CHAR (70) + ' /Text ]')\
  INSERT INTO #pdf (code) VALUES (@a2)\
  INSERT INTO #pdf (code) VALUES (@end)\
  INSERT INTO #text(code) (SELECT code FROM psopdf)\
  SELECT @x = COUNT(*) FROM #text\
  SELECT @x = (@x / 60) + 1\
  WHILE  @nopg < @x\
    BEGIN\
      DECLARE SysKursor  INSENSITIVE SCROLL CURSOR \
      FOR SELECT SUBSTRING((code + SPACE(81)), 1, 80) FROM #text WHERE idnumber BETWEEN ((@nopg * 60) + 1) AND ((@nopg + 1) * 60 )\
      FOR READ ONLY    \
      OPEN SysKursor\
      FETCH NEXT FROM SysKursor INTO @trenutniRed\
      SELECT @object = @object + 1\
      SELECT @page = @page +  ' ' + CAST(@object AS VARCHAR) + @ad\
      SELECT @len = LEN(@object) + LEN(@object + 1)\
      INSERT INTO #pdf (code) VALUES (CAST(@object AS VARCHAR)  + @beg)\
      INSERT INTO #pdf (code) VALUES (@a1)\
      INSERT INTO #pdf (code) VALUES ('/Type /Page')\
      INSERT INTO #pdf (code) VALUES ('/Parent 3' + @ad)\
      INSERT INTO #pdf (code) VALUES ('/Resources 6' + @ad)\
      SELECT @object = @object + 1\
      INSERT INTO #pdf (code) VALUES ('/Contents ' + CAST(@object AS VARCHAR) + @ad)\
      INSERT INTO #pdf (code) VALUES (@a2)\
      INSERT INTO #pdf (code) VALUES (@end)\
      SELECT @ofset = @len + 86 + @ofset\
      INSERT INTO #xref(code) (SELECT SUBSTRING('0000000000' + CAST(@ofset AS VARCHAR), \
    	LEN('0000000000' + CAST(@ofset AS VARCHAR)) - 9, \
    	LEN('0000000000' + CAST(@ofset AS VARCHAR))) + @xstr)  \
      INSERT INTO #pdf (code) VALUES (CAST(@object AS VARCHAR)  + @beg)\
      INSERT INTO #pdf (code) VALUES (@a1)\
      SELECT @object = @object + 1\
      INSERT INTO #pdf (code) VALUES ('/Length ' + CAST(@object AS VARCHAR) + @ad)\
      INSERT INTO #pdf (code) VALUES (@a2)\
      INSERT INTO #pdf (code) VALUES ('stream')\
      INSERT INTO #pdf (code) VALUES ('BT')\
      INSERT INTO #pdf (code) VALUES ('/F1 10 Tf')\
      INSERT INTO #pdf (code) VALUES ('1 0 0 1 50 802 Tm')\
      INSERT INTO #pdf (code) VALUES ('12 TL')\
      WHILE @@Fetch_Status = 0\
         BEGIN\
             INSERT INTO #pdf (code) VALUES ('T* (' + @trenutniRed + ') Tj')\
             FETCH NEXT FROM  SysKursor INTO @trenutniRed\
          END\
      INSERT INTO #pdf (code) VALUES ('ET')\
      INSERT INTO #pdf (code) VALUES ('endstream')\
      INSERT INTO #pdf (code) VALUES (@end)\
      SELECT @rows = (SELECT COUNT(*) FROM #text WHERE idnumber BETWEEN ((@nopg * 60) + 1) AND ((@nopg + 1) * 60 ))* 90 + 45\
      SELECT @nopg = @nopg + 1    \
      SELECT @len = LEN(@object) + LEN(@object - 1)\
      SELECT @ofset = @len + 57 + @ofset + @rows\
      INSERT INTO #xref(code) (SELECT SUBSTRING('0000000000' + CAST(@ofset AS VARCHAR), \
     	LEN('0000000000' + CAST(@ofset AS VARCHAR)) - 9, \
   	LEN('0000000000' + CAST(@ofset AS VARCHAR))) + @xstr)   \
      INSERT INTO #pdf (code) VALUES (CAST(@object AS VARCHAR)  + @beg)\
      INSERT INTO #pdf (code) VALUES (@rows)\
      INSERT INTO #pdf (code) VALUES (@end)\
      SELECT @len = LEN(@object) + LEN(@rows)\
      SELECT @ofset = @len + 18 + @ofset\
      INSERT INTO #xref(code) (SELECT SUBSTRING('0000000000' + CAST(@ofset AS VARCHAR), \
    	LEN('0000000000' + CAST(@ofset AS VARCHAR)) - 9, \
    	LEN('0000000000' + CAST(@ofset AS VARCHAR))) + @xstr)  \
      CLOSE SysKursor\
      DEALLOCATE SysKursor\
    END\
    INSERT INTO #pdf (code) VALUES ('2' + @beg)\
    INSERT INTO #pdf (code) VALUES (@a1)\
    INSERT INTO #pdf (code) VALUES ('/Type /Catalog')\
    INSERT INTO #pdf (code) VALUES ('/Pages 3' + @ad)\
    INSERT INTO #pdf (code) VALUES ('/PageLayout /OneColumn')\
    INSERT INTO #pdf (code) VALUES (@a2)\
    INSERT INTO #pdf (code) VALUES (@end)\
    UPDATE #xref SET code = (SELECT code FROM #xref WHERE idnumber = (SELECT MAX(idnumber) FROM #xref)) WHERE idnumber = 5\
    DELETE FROM #xref WHERE idnumber = (SELECT MAX(idnumber) FROM #xref)\
    INSERT INTO #pdf (code) VALUES ('3' + @beg)\
    INSERT INTO #pdf (code) VALUES (@a1)\
    INSERT INTO #pdf (code) VALUES ('/Type /Pages')\
    INSERT INTO #pdf (code) VALUES ('/Count ' + CAST(@nopg AS VARCHAR))\
    INSERT INTO #pdf (code) VALUES ('/MediaBox [ 0 0 595 842 ]')\
    INSERT INTO #pdf (code) VALUES ('/Kids [' + @page + ' ]')\
    INSERT INTO #pdf (code) VALUES (@a2)\
    INSERT INTO #pdf (code) VALUES (@end)\
    SELECT @ofset = @ofset + 79\
    UPDATE #xref SET code =(SELECT SUBSTRING('0000000000' + CAST(@ofset AS VARCHAR), \
  	LEN('0000000000' + CAST(@ofset AS VARCHAR)) - 9, \
  	LEN('0000000000' + CAST(@ofset AS VARCHAR))) + @xstr) WHERE idnumber = 6\
    INSERT INTO #xref(code) VALUES ('trailer')\
    INSERT INTO #xref(code) VALUES (@a1)\
    SELECT @object = @object + 1\
    UPDATE #xref SET code = '0 ' + CAST(@object AS VARCHAR) WHERE idnumber = 2\
    INSERT INTO #xref(code) VALUES ('/Size ' + CAST(@object AS VARCHAR))\
    INSERT INTO #xref(code) VALUES ('/Root 2' + @ad)\
    INSERT INTO #xref(code) VALUES ('/Info 1' + @ad)\
    INSERT INTO #xref(code) VALUES (@a2)\
    INSERT INTO #xref(code) VALUES ('startxref')\
    SELECT @len = LEN(@nopg) + LEN(@page)\
    SELECT @ofset = @len + 86 + @ofset\
    INSERT INTO #xref(code) VALUES (@ofset)\
    INSERT INTO #xref(code) VALUES ('%%' + CHAR(69) + CHAR (79) + CHAR(70))\
    INSERT INTO #pdf (code) (SELECT code FROM #xref) \
    --SELECT code FROM #pdf\
    SELECT @trenutniRed = 'del '+ @pdf\
    EXECUTE @ole = sp_OACreate 'Scripting.FileSystemObject', @fs OUT\
    EXEC master..xp_cmdshell @trenutniRed, NO_OUTPUT\
\
    EXECUTE @ole = sp_OAMethod @fs, 'OpenTextFile', @file OUT, @pdf, 8, 1\
\
    DECLARE SysKursor  INSENSITIVE SCROLL CURSOR \
    FOR SELECT code FROM #pdf ORDER BY idnumber\
    FOR READ ONLY    \
    OPEN SysKursor\
    FETCH NEXT FROM SysKursor INTO @trenutniRed\
    WHILE @@Fetch_Status = 0\
	BEGIN\
	  EXECUTE @ole = sp_OAMethod @file, 'WriteLine', Null, @trenutniRed\
	  FETCH NEXT FROM  SysKursor INTO @trenutniRed \
        END\
    CLOSE SysKursor\
    DEALLOCATE SysKursor\
    DELETE FROM psopdf\
    EXECUTE @ole = sp_OADestroy @file\
    EXECUTE @ole = sp_OADestroy @fs}