안녕하세요 - 필자가 저널에 포함시키고 자하는 모든 디스플레이 박스를 조립 한 다음 저널을 HTML로 내보내 HTML 파일을 만듭니다. 이것은 충분히 잘 작동하지만 결과 HTML 파일이 깔끔하게 인쇄되도록 일부 표시 상자 사이에 페이지 나누기를 삽입하고 싶습니다. 적절한 저널에 "현재 저널 () << append (페이지 나누기 상자 ())"명령을 추가하려고 시도했지만 작동하지 않는 것 같습니다. 대신 저널에 제어 코드를 보내야합니까? 그렇다면 어떻게 할 수 있습니까?
많은 감사
이것은 완벽하게 작동하며 현재 JMP에서 생성 된 여러 HTML 보고서의 모양과 느낌을 변형 할 수있게 해줍니다. 이 예제는 내가 최근에 조사한 여러 가지 형식 문제를 어떻게 해결할 수 있었는지를 보여 주므로 모두 도움이되었습니다.
많은 감사합니다!
HTML의 페이지 나누기는 일반적으로 CSS로 처리됩니다. JSL 페이지 나누기 상자는 HTML로 내보낼 때 추가 가변 길이를 추가하는 것으로 보이지만 추가 CSS 스타일은 추가하지 않습니다.
해결 방법은 JMP에서 내 보낸 후 HTML에 필요한 코드를 추가하는 것입니다. 이 작업은 텍스트 편집기를 사용하여 수행 할 수 있지만 JSL을 사용하여 수행 할 수도 있습니다.
예 (Safari에서 테스트되었지만 최신 브라우저에서 작동해야 함) :
Names Default To Here(1);
// Create example Journal
Open("$SAMPLE_DATA/Big Class.jmp");
Bivariate(Y(:weight), X(:height), By(:age), FitLine) << Journal;
myjournal = Current Journal();
// Find desired points for page breaks, e.g between By-groups
L = myjournal() << xpath("//OutlineBox[@helpKey='Bivariate Report']");
// Insert page breaks after each but last bivariate report
L[1 :: N Items(L) - 1] << append(Page Break Box());
//Save as html
myjournal << Save HTML("$HOME/pb_test.html");
// Manipulate and resave HTML
// Add internal CSS pbreak class and replace multiple <BR /> with that class
myhtml = Load Text File("$HOME/pb_test.html");
pos = Contains(myhtml, "");
Insert Into(myhtml, ".pbreak { page-break-after: always; }\!n", pos);
While(Pat Match(myhtml, Pat Repeat("<BR />", 2), "<DIV class="\!"pbreak\!""> </DIV>"), "");
Save Text File("$HOME/pb_test.html", myhtml);