Как я могу настроить ориентацию landScape в ABCPDF для.net?
Раньше я обращался к документации по примерам LandScape, но не работал, чтобы изменить портрет в ориентацию LandScape. Это пример в ABCPDF
однако я использовал этот код в WebServices, где я получил в параметре путь к файлу в HTML и преобразовал HTML в PDF, в этой части все в порядке, но когда я пытаюсь преобразовать ориентацию в ландшафт, у меня не работает.
Это мой код
[WebMethod]
public string convertPDF(string filePath, string filePathPDF)
{
bool pdfBuilt = false;
bool landscape = true;
try
{
var theDoc = new Doc();
//if (landscape)
//{
// double w = theDoc.MediaBox.Width ;
// double h = theDoc.MediaBox.Height;
// double l = theDoc.MediaBox.Left;
// double b = theDoc.MediaBox.Bottom;
// theDoc.Transform.Rotate(90, 0, 0);
// theDoc.Transform.Translate(h, 0);
// // rotate our rectangle
// theDoc.Rect.Width = h;
// theDoc.Rect.Height = w;
//}
string pdGeneral = filePath;
int theID = theDoc.GetInfoInt(theDoc.Root, "Pages");
theDoc.SetInfo(theID, "/Rotate", "90");
theDoc = CreateNewDocument(pdGeneral, theDoc);
theDoc.Save(filePathPDF);
theDoc.ClearCachedDecompressedStreams();
theDoc.Clear();
theDoc.Dispose();
pdfBuilt = true;
}
catch (Exception ex)
{
Log.Error(ex.Message, ex);
}
return null;
}
В функции CreateNewDocument, когда конвертировать HTML в PDF, это нормально.
private static Doc CreateNewDocument(string currentURL,Doc theDoc)
{
theDoc.HtmlOptions.PageCacheEnabled = false;
theDoc.HtmlOptions.TargetLinks = true;
theDoc.HtmlOptions.AddLinks = true;
theDoc.HtmlOptions.Engine = EngineType.Chrome;
theDoc.Rect.Rectangle = new System.Drawing.Rectangle(20, 20, 650, 750);//755
string pdfUrl = currentURL;
try
{
int theID = theDoc.AddImageUrl(pdfUrl, true, (int)theDoc.MediaBox.Width, true);
for (int i = 1; i <= 50; i++)
{
if (!theDoc.Chainable(theID))
break;
theDoc.Page = theDoc.AddPage();
theID = theDoc.AddImageToChain(theID);
}
theDoc.PageNumber = 1;
}
catch (Exception ex)
{
throw new ApplicationException("Error generating pdf..." + "Exception: " + ex + "<br/>URL for render: " + pdfUrl + "<br/>Base URL: " + currentURL);
}
return theDoc;
}
Я надеюсь, что вы можете помочь мне с этим.
Спасибо