0

I have read about phantomjs and rasterizejs as well. But my link is this:

http://localhost:5601/#/dashboard/External?_g=(time:(from:'2014-12-31T16:00:00.000Z',mode:absolute,to:'2015-01-01T16:00:00.000Z'))&_a=(filters:!(),panels:!((col:10,id:'Count-of-Source-IPs-(External)',row:1,size_x:3,size_y:3,type:visualization),(col:4,id:'Protocols-(External)',row:4,size_x:3,size_y:2,type:visualization),(col:7,id:'Top-5-Source-IPs-with-Protocols-and-Source-Port-(External)',row:4,size_x:6,size_y:6,type:visualization),(col:1,id:'Top-5-Source-IPs-(External)',row:4,size_x:3,size_y:2,type:visualization),(col:1,id:'Top-5-Countries-with-Protocols-(External)',row:1,size_x:6,size_y:3,type:visualization),(col:1,id:'Geographical-of-External-(Source)',row:6,size_x:6,size_y:4,type:visualization),(col:7,id:'Action-(External)',row:1,size_x:3,size_y:3,type:visualization)),query:(query_string:(analyze_wildcard:!t,query:'*')),title:External)

How do I make it such that it works with this command:

phantom.js rasterize.js "http://localhost:5601/#/dashboard/External?_g=(time:(from:'2014-12-31T16:00:00.000Z',mode:absolute,to:'2015-01-01T16:00:00.000Z'))&_a=(filters:!(),panels:!((col:10,id:'Count-of-Source-IPs-(External)',row:1,size_x:3,size_y:3,type:visualization),(col:4,id:'Protocols-(External)',row:4,size_x:3,size_y:2,type:visualization),(col:7,id:'Top-5-Source-IPs-with-Protocols-and-Source-Port-(External)',row:4,size_x:6,size_y:6,type:visualization),(col:1,id:'Top-5-Source-IPs-(External)',row:4,size_x:3,size_y:2,type:visualization),(col:1,id:'Top-5-Countries-with-Protocols-(External)',row:1,size_x:6,size_y:3,type:visualization),(col:1,id:'Geographical-of-External-(Source)',row:6,size_x:6,size_y:4,type:visualization),(col:7,id:'Action-(External)',row:1,size_x:3,size_y:3,type:visualization)),query:(query_string:(analyze_wildcard:!t,query:'*')),title:External)" external.pdf

I have been getting syntax error because of that.

imbadatcoding
  • 57
  • 5
  • 14
  • What do you hard-coding it in the script? By creating a .sh file and putting the url in? I think I will stilll get syntax error because of the brackets and many other symbols in the url given – imbadatcoding Sep 07 '15 at 12:12
  • how do i do that? sorry im not good at phantom.js – imbadatcoding Sep 07 '15 at 12:47

1 Answers1

1

The problem is probably that the command is too long for your terminal and some of it is cut off.

You can either directly put it into the script or read it from stdin. For that you need to edit rasterize.js.

First you need to reduce the x in all system.args[x] where x is above 1 by 1. If you've done that, then you can call the script as

phantom.js rasterize.js external.pdf

or

cat file.url | phantom.js rasterize.js external.pdf

in the second case.

Put URL into script

Change

address = system.args[1];

to

address = "http://localhost....";

Read from pipe

You can put your long URL into some file and pass that file to stdin of the PhantomJS script.

Change

address = system.args[1];

to

address = system.stdin.read();
Artjom B.
  • 61,146
  • 24
  • 125
  • 222