###
# ================================================================================
# eCOMP Portal SDK
# ================================================================================
# Copyright (C) 2017 AT&T Intellectual Property
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#      http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ================================================================================
###
## pdf file specific properties
pdf_data_font_size=9
pdf_data_font_family=Arial
#reduce the font size from html config
pdf_data_font_size_offset=2
pdf_data_alternate_color=true
#data row background(white), alternate(light light blue/gray)
pdf_data_background_alternate_hex_code=#EDEDED
pdf_data_default_background_hex_code=#FFFFFF
#header font (white)  background (gray)
pdf_data_table_header_font_hex_code=#FFFFFF
pdf_data_table_header_background_hex_code=#8A9BB3
#footer header
pdf_footer_font_size=9
pdf_footer_font_family=Arial
pdf_att_proprietary=Proprietary\nUse Pursuant to Company Instructions
pdf_att_proprierary_font_size=7
pdf_date_timezone=GMT
pdf_date_pattern=MM/dd/yyyy hh:mm:ss a
##page number position at 1 - footer middle, 0 -- header right, 2 - both
pdf_page_number_position=1
pdf_word_before_page_number=Page
pdf_word_after_page_number=
pdf_coverpage_firstcolumn_size=0.3
pdf_image_auto_rotate=false
display_create_owner_info=true
#session_info=customer,customerId
display_loginid_for_downloaded_by=false
# please use false if you want landscape to be default.
is_default_orientation_portrait=true
