Project: Wireshark
Code Location: http://anonsvn.wireshark.org/wireshark/trunk/trunk
Browse
/
Download File
print.ps
%!
%
% Code between start/end remarks is put into ps.c
% Anything else is thrown away, and is for testing only.
%
% ---- wireshark preamble start ---- %
%!
%!PS-Adobe-2.0
%
% Wireshark - Network traffic analyzer
% By Gerald Combs <gerald@wireshark.org>
% Copyright 1998 Gerald Combs
%
%%Creator: Wireshark
%%Title: Wireshark output
%%DocumentFonts: Helvetica Monaco
%%EndComments
%!

%
% Ghostscript http://ghostscript.com/ can convert postscript to pdf files.
%
% To convert this postscript file to pdf, type (for US letter format):
% ps2pdf filename.ps
%
% or (for A4 format):
% ps2pdf -sPAPERSIZE=a4 filename.ps
%
% ... and of course replace filename.ps by your current filename.
%
% The pdfmark's below will help converting to a pdf file, and have no
% effect when printing the postscript directly.
% 

%   This line is necessary if the file should be printable, and not just used
%   for distilling into PDF:
%
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
%
%   This tells PDF viewers to display bookmarks when the document is opened:
%
[/PageMode /UseOutlines /DOCVIEW pdfmark

% Get the Imagable Area of the page
clippath pathbbox

% Set vmax to the vertical size of the page,
% hmax to the horizontal size of the page.
/vmax exch def
/hmax exch def
pop pop		% junk

% 1/2-inch margins
/lmargin 36 def					% left margin
/tmargin vmax 56 sub def		% top margin
/bmargin 36 def					% bottom margin
/pagenumtab hmax 36 sub def		% right margin

% Counters
/thispagenum 1 def

% Strings
/pagenostr 7 string def


/formfeed {
	printpagedecorations
	showpage
	
	% we need a new current point after showpage is done
	lmargin		% X
	vpos 		% Y
	moveto
	/vpos tmargin def
} def

% Prints text with possible indenting
/putline_single {
	exch 10 mul lmargin add		% X
	vpos 						% Y
	moveto
	show

	/vpos vpos 10 sub def

	vpos 5 sub bmargin le 		% is vpos <= bottom margin?
	{
		formfeed
	}
	if							% then formfeed and start at top
} def


% Prints text with possible indenting and line wrap
/putline {
	/text exch def
	/indent exch def
	
	% wrapat = width / sizeof font (remember: monospaced font)
	/pagewidth pagenumtab lmargin sub def
	/cwidth (A) stringwidth pop def
	/wrapat pagewidth cwidth div cvi def
		
	text length wrapat le {
		% print line
		indent text 0 text length getinterval putline_single
	}{
		% print the lines first part
		indent text 0 wrapat getinterval putline_single
		% print wrapped rest
		indent text wrapat text length wrapat sub getinterval putline
	}
	ifelse
} def


% Prints the page number at the top right
/printpagedecorations {
	gsave
		% Set the font to 8 point
		/Helvetica findfont 8 scalefont setfont

		% title
		lmargin						% X
		vmax 36 sub					% Y
		moveto
		ws_pagetitle show

		% this page number
		pagenumtab (Page ) stringwidth pop sub thispagenum pagenostr cvs stringwidth pop sub 		% X
		vmax 36 sub					% Y
		moveto
		(Page ) show
		thispagenum pagenostr cvs show

		% thispagenum++
		/thispagenum thispagenum 1 add def
		
		% line at top of page
		lmargin						% X
		vmax 38 sub					% Y
		moveto
		
		pagenumtab					% X
		vmax 38 sub					% Y
		lineto
		stroke
		
		% line at bottom of page
		lmargin						% X
		bmargin						% Y
		moveto
		
		pagenumtab					% X
		bmargin						% Y
		lineto
		stroke
		
	grestore
} def
	
% Reset the vertical position
/vpos tmargin def

% Set the font to 8 point
/Monaco findfont 8 scalefont setfont

% ---- wireshark preamble end ---- %

% the page title
/ws_pagetitle (Wireshark) def

% Display our output lines.

% PDF bookmark link
[/Dest /__frame1__ /Title (Frame 1)   /OUT pdfmark
[/View [/XYZ -4 currentpoint matrix currentmatrix matrix defaultmatrix
 matrix invertmatrix matrix concatmatrix transform exch pop 20 add null]
 /Dest /__frame1__ /DEST pdfmark
 
% packet data
0 (Frame 1) putline
0 (Ethernet II \(98 on wire, 68 captured\)) putline
1 (Destination: 00:00:0c:36:00:2a) putline
1 (Source: 00:c0:4f:c7:eb:c0) putline
1 (Type: IP \(0x0800\)) putline
0 (Ethernet II \(98 on wire, 68 captured\)) putline
1 (Source: 00:c0:4f:c7:eb:c0) putline
1 (Type: IP \(0x0800\)) putline
0 (Source: 00:c0:4f:c7:eb:c0) putline

0 () putline
0 (0000  cc 00 00 00 00 00 07 02 00 00 00 00 00 00 00 00   ................ ) putline
0 (0010  00 00 bd 0e fe 16 01 00 3e 00 03 08 58 4c 20 38   ........>...XL 8 ) putline
0 (0020  30 20 49 4d 33 00 16 01 00 34 00 16 01 01 35 00   0 IM3....4....5. ) putline
0 (0030  16 01 02 36 00 16 01 03 6e 00 16 01 ff 6f 00 16   ...6....n....o.. ) putline
0 (0040  01 ff 70 00 16 01 ff 71 00 16 01 ff 48 00 01 04   ..p....q....H... ) putline
0 (0050  ff 03 07 00 24 00 01 01 05 25 00 01 01 05 26 00   ....$....%....&. ) putline
0 (0060  01 01 05 27 00 01 01 05 6a 00 01 01 00 6b 00 01   ...'....j....k.. ) putline
0 (0070  01 00 6c 00 01 01 00 6d 00 01 01 00 3d 00 01 02   ..l....m....=... ) putline
0 (0080  02 00 c0 00 03 08 80 00 00 00 00 00 00 00 b4 00   ................ ) putline
0 (0090  01 04 c0 a8 42 ef 39 00 16 08 05 05 05 05 00 00   ....B.9......... ) putline
0 (00a0  00 00 00 03 20 36 41 20 52 69 6e 67 00 00 00 00   .... 6A Ring.... ) putline
0 (00b0  00 00 00 00 00 00                                 ......           ) putline
formfeed


% PDF bookmark link
[/Dest /__frame2__ /Title (Frame 2)   /OUT pdfmark
[/View [/XYZ -4 currentpoint matrix currentmatrix matrix defaultmatrix
 matrix invertmatrix matrix concatmatrix transform exch pop 20 add null]
 /Dest /__frame2__ /DEST pdfmark
 
% packet data
0 (Frame 2) putline
0 (Ethernet II \(98 on wire, 68 captured\)) putline
1 (Destination: 00:00:0c:36:00:2a) putline
1 (Source: 00:c0:4f:c7:eb:c0) putline
1 (Type: IP \(0x0800\)) putline
0 (Ethernet II \(98 on wire, 68 captured\)) putline
1 (Source: 00:c0:4f:c7:eb:c0) putline
1 (Type: IP \(0x0800\)) putline
0 (Source: 00:c0:4f:c7:eb:c0) putline

0 () putline
0 (0000  cc 00 00 00 00 00 07 02 00 00 00 00 00 00 00 00   ................ ) putline
0 (0010  00 00 bd 0e fe 16 01 00 3e 00 03 08 58 4c 20 38   ........>...XL 8 ) putline
0 (0020  30 20 49 4d 33 00 16 01 00 34 00 16 01 01 35 00   0 IM3....4....5. ) putline
0 (0030  16 01 02 36 00 16 01 03 6e 00 16 01 ff 6f 00 16   ...6....n....o.. ) putline
0 (0040  01 ff 70 00 16 01 ff 71 00 16 01 ff 48 00 01 04   ..p....q....H... ) putline
0 (0050  ff 03 07 00 24 00 01 01 05 25 00 01 01 05 26 00   ....$....%....&. ) putline
0 (0060  01 01 05 27 00 01 01 05 6a 00 01 01 00 6b 00 01   ...'....j....k.. ) putline
0 (0070  01 00 6c 00 01 01 00 6d 00 01 01 00 3d 00 01 02   ..l....m....=... ) putline
0 (0080  02 00 c0 00 03 08 80 00 00 00 00 00 00 00 b4 00   ................ ) putline
0 (0090  01 04 c0 a8 42 ef 39 00 16 08 05 05 05 05 00 00   ....B.9......... ) putline
0 (00a0  00 00 00 03 20 36 41 20 52 69 6e 67 00 00 00 00   .... 6A Ring.... ) putline
0 (00b0  00 00 00 00 00 00                                 ......           ) putline

% ---- wireshark finale start ---- %

printpagedecorations
showpage

%%EOF

% ---- wireshark finale end ---- %