Как я могу настроить ориентацию 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;
    }

Я надеюсь, что вы можете помочь мне с этим.

Спасибо

0 ответов

Другие вопросы по тегам