-
Notifications
You must be signed in to change notification settings - Fork 1
ResizePageByPercentage
jdubs edited this page Oct 21, 2016
·
1 revision
Performs a page width resize on all pages in a template.
Percentage (multiple) The numeric percentage value for the page resize.
ErrorMessage (multiple | optional) The error message to return when any error occurs.
This method physically changes the template page size for all pages in the rendered output. The supplied value must be a valid number. Regardless of the Measurement Unit defined for the template page size the percentage is calculated horizontally and vertically. Objects on the page do not resize.
public static void ResizePageByPercentage(object Percentage, object ErrorMessage)
{
Break();
try
{
Document doc = Application.CurrentDocument;
string percent = Percentage.ToString().Replace("%", "").Replace(" ", "");
object h = doc.PageHeight.GetType().GetProperty("Pt").GetValue(doc.PageHeight, null);
decimal height = Convert.ToDecimal(h) * (Convert.ToDecimal(percent) * Convert.ToDecimal(.01));
doc.PageHeight = String.Format("{0}pt", height.ToString());
object w = doc.PageWidth.GetType().GetProperty("Pt").GetValue(doc.PageWidth, null);
decimal width = Convert.ToDecimal(w) * (Convert.ToDecimal(percent) * Convert.ToDecimal(.01));
doc.PageWidth = String.Format("{0}pt", width.ToString());
}
catch (Exception ex)
{
throw new Four51ActionsException(ex.Message, (string)ErrorMessage);
}
}